Conform to RDAP Response Profile 15feb19

This is only about the Response Profile, not the Technical Implementation guide.

The Response Profile can be found at https://www.icann.org/en/system/files/files/rdap-response-profile-15feb19-en.pdf

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=250277559
This commit is contained in:
guyben 2019-05-28 07:36:33 -07:00 committed by jianglai
parent b34a828b71
commit c79e0ea670
89 changed files with 4102 additions and 5815 deletions

View file

@ -16,6 +16,8 @@ package google.registry.rdap;
import static com.google.common.net.HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
import static google.registry.rdap.RdapTestHelper.parseJsonObject;
import static google.registry.request.Action.Method.GET;
import static google.registry.request.Action.Method.HEAD;
import static google.registry.testing.DatastoreHelper.createTld;

View file

@ -20,12 +20,9 @@ import static google.registry.rdap.RdapAuthorization.Role.PUBLIC;
import static google.registry.rdap.RdapAuthorization.Role.REGISTRAR;
import static google.registry.request.Action.Method.GET;
import static google.registry.request.Action.Method.HEAD;
import static google.registry.testing.TestDataHelper.loadFile;
import static org.mockito.Mockito.mock;
import com.google.appengine.api.users.User;
import com.google.common.collect.ImmutableMap;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import google.registry.model.ofy.Ofy;
import google.registry.request.Action;
@ -37,8 +34,9 @@ import google.registry.testing.AppEngineRule;
import google.registry.testing.FakeClock;
import google.registry.testing.FakeResponse;
import google.registry.testing.InjectRule;
import google.registry.util.Idn;
import google.registry.util.TypeUtils;
import java.util.Map;
import java.util.HashMap;
import java.util.Optional;
import org.joda.time.DateTime;
import org.junit.Before;
@ -78,8 +76,6 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
protected final String actionPath;
protected final Class<A> rdapActionClass;
private static final Gson GSON = new Gson();
protected RdapActionBaseTestCase(Class<A> rdapActionClass) {
this.rdapActionClass = rdapActionClass;
this.actionPath = Actions.getPathForAction(rdapActionClass);
@ -117,15 +113,11 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
metricRole = ADMINISTRATOR;
}
protected static JsonObject parseJsonObject(String jsonString) {
return GSON.fromJson(jsonString, JsonObject.class);
}
protected JsonObject generateActualJson(String domainName) {
action.requestPath = actionPath + domainName;
action.requestMethod = GET;
action.run();
return parseJsonObject(response.getPayload());
return RdapTestHelper.parseJsonObject(response.getPayload());
}
protected String generateHeadPayload(String domainName) {
@ -135,38 +127,6 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
return response.getPayload();
}
/**
* Loads a resource testdata JSON file, and applies substitutions.
*
* <p>{@code loadJsonFile("filename.json", "NANE", "something", "ID", "other")} is the same as
* {@code loadJsonFile("filename.json", ImmutableMap.of("NANE", "something", "ID", "other"))}.
*
* @param filename the name of the file from the testdata directory
* @param keysAndValues alternating substitution key and value. The substitutions are applied to
* the file before parsing it to JSON.
*/
protected static JsonObject loadJsonFile(String filename, String... keysAndValues) {
checkArgument(keysAndValues.length % 2 == 0);
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
for (int i = 0; i < keysAndValues.length; i += 2) {
if (keysAndValues[i + 1] != null) {
builder.put(keysAndValues[i], keysAndValues[i + 1]);
}
}
return loadJsonFile(filename, builder.build());
}
/**
* Loads a resource testdata JSON file, and applies substitutions.
*
* @param filename the name of the file from the testdata directory
* @param substitutions map of substitutions to apply to the file. The substitutions are applied
* to the file before parsing it to JSON.
*/
protected static JsonObject loadJsonFile(String filename, Map<String, String> substitutions) {
return parseJsonObject(loadFile(RdapActionBaseTestCase.class, filename, substitutions));
}
protected JsonObject generateExpectedJsonError(
String description,
int code) {
@ -191,10 +151,75 @@ public class RdapActionBaseTestCase<A extends RdapActionBase> {
title = "ERR";
break;
}
return loadJsonFile(
return RdapTestHelper.loadJsonFile(
"rdap_error.json",
"DESCRIPTION", description,
"TITLE", title,
"CODE", String.valueOf(code));
}
protected static JsonFileBuilder jsonFileBuilder() {
return new JsonFileBuilder();
}
protected static final class JsonFileBuilder {
private final HashMap<String, String> substitutions = new HashMap<>();
public JsonObject load(String filename) {
return RdapTestHelper.loadJsonFile(filename, substitutions);
}
public JsonFileBuilder put(String key, String value) {
checkArgument(
substitutions.put(key, value) == null, "substitutions already had key of %s", key);
return this;
}
public JsonFileBuilder put(String key, int index, String value) {
return put(String.format("%s%d", key, index), value);
}
public JsonFileBuilder putNext(String key, String value, String... moreKeyValues) {
checkArgument(moreKeyValues.length % 2 == 0);
int index = putNextAndReturnIndex(key, value);
for (int i = 0; i < moreKeyValues.length; i += 2) {
put(moreKeyValues[i], index, moreKeyValues[i + 1]);
}
return this;
}
public JsonFileBuilder addDomain(String name, String handle) {
return putNext(
"DOMAIN_PUNYCODE_NAME_", Idn.toASCII(name),
"DOMAIN_UNICODE_NAME_", name,
"DOMAIN_HANDLE_", handle);
}
public JsonFileBuilder addNameserver(String name, String handle) {
return putNext(
"NAMESERVER_NAME_", Idn.toASCII(name),
"NAMESERVER_UNICODE_NAME_", name,
"NAMESERVER_HANDLE_", handle);
}
public JsonFileBuilder addRegistrar(String fullName) {
return putNext("REGISTRAR_FULL_NAME_", fullName);
}
public JsonFileBuilder addContact(String handle) {
return putNext("CONTACT_HANDLE_", handle);
}
public JsonFileBuilder setNextQuery(String nextQuery) {
return put("NEXT_QUERY", nextQuery);
}
private int putNextAndReturnIndex(String key, String value) {
for (int i = 1; ; i++) {
if (substitutions.putIfAbsent(String.format("%s%d", key, i), value) == null) {
return i;
}
}
}
}
}

View file

@ -45,7 +45,7 @@ public final class RdapDataStructuresTest {
@Test
public void testRdapConformance() {
assertThat(RdapConformance.INSTANCE.toJson())
.isEqualTo(createJson("['icann_rdap_response_profile_0']"));
.isEqualTo(createJson("['rdap_level_0','icann_rdap_response_profile_0']"));
}
@Test

View file

@ -15,6 +15,7 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.assertThat;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
@ -26,8 +27,6 @@ import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrar;
import static google.registry.testing.FullFieldsTestEntityHelper.makeRegistrarContacts;
import static org.mockito.Mockito.verify;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.gson.JsonObject;
import google.registry.model.contact.ContactResource;
import google.registry.model.domain.DomainBase;
@ -41,9 +40,7 @@ import google.registry.rdap.RdapMetrics.SearchType;
import google.registry.rdap.RdapMetrics.WildcardType;
import google.registry.rdap.RdapSearchResults.IncompletenessWarningType;
import google.registry.request.Action;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@ -90,37 +87,54 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
"ns1.cat.lol", "1.2.3.4", null, clock.nowUtc().minusYears(1));
HostResource host2 = makeAndPersistHostResource(
"ns2.cat.lol", "bad:f00d:cafe:0:0:0:15:beef", clock.nowUtc().minusYears(2));
DomainBase domainCatLol =
persistResource(makeDomainBase("cat.lol",
registrantLol, adminContactLol, techContactLol, host1, host2, registrarLol));
persistResource(
makeDomainBase(
"cat.lol",
registrantLol,
adminContactLol,
techContactLol,
host1,
host2,
registrarLol)
.asBuilder()
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
.setCreationClientId("foo")
.build());
// deleted domain in lol
HostResource hostDodo2 = makeAndPersistHostResource(
"ns2.dodo.lol", "bad:f00d:cafe:0:0:0:15:beef", clock.nowUtc().minusYears(2));
DomainBase domainDeleted = persistResource(makeDomainBase("dodo.lol",
makeAndPersistContactResource(
"5372808-ERL",
"Goblin Market",
"lol@cat.lol",
clock.nowUtc().minusYears(1),
registrarLol),
makeAndPersistContactResource(
"5372808-IRL",
"Santa Claus",
"BOFH@cat.lol",
clock.nowUtc().minusYears(2),
registrarLol),
makeAndPersistContactResource(
"5372808-TRL",
"The Raven",
"bog@cat.lol",
clock.nowUtc().minusYears(3),
registrarLol),
host1,
hostDodo2,
registrarLol).asBuilder().setDeletionTime(clock.nowUtc().minusDays(1)).build());
// xn--q9jyb4c
DomainBase domainDeleted =
persistResource(
makeDomainBase(
"dodo.lol",
makeAndPersistContactResource(
"5372808-ERL",
"Goblin Market",
"lol@cat.lol",
clock.nowUtc().minusYears(1),
registrarLol),
makeAndPersistContactResource(
"5372808-IRL",
"Santa Claus",
"BOFH@cat.lol",
clock.nowUtc().minusYears(2),
registrarLol),
makeAndPersistContactResource(
"5372808-TRL",
"The Raven",
"bog@cat.lol",
clock.nowUtc().minusYears(3),
registrarLol),
host1,
hostDodo2,
registrarLol)
.asBuilder()
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
.setCreationClientId("foo")
.setDeletionTime(clock.nowUtc().minusDays(1))
.build());
// cat.みんな
createTld("xn--q9jyb4c");
Registrar registrarIdn =
persistResource(makeRegistrar("idnregistrar", "IDN Registrar", Registrar.State.ACTIVE));
@ -146,13 +160,19 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
"bog@cat.lol",
clock.nowUtc().minusYears(3),
registrarIdn);
DomainBase domainCatIdn = persistResource(makeDomainBase("cat.みんな",
registrantIdn,
adminContactIdn,
techContactIdn,
host1,
host2,
registrarIdn));
persistResource(
makeDomainBase(
"cat.みんな",
registrantIdn,
adminContactIdn,
techContactIdn,
host1,
host2,
registrarIdn)
.asBuilder()
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
.setCreationClientId("foo")
.build());
// 1.tld
createTld("1.tld");
@ -180,43 +200,21 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
"bog@cat.lol",
clock.nowUtc().minusYears(3),
registrar1Tld);
DomainBase domainCat1Tld = persistResource(makeDomainBase("cat.1.tld",
registrant1Tld,
adminContact1Tld,
techContact1Tld,
host1,
host2,
registrar1Tld));
persistResource(
makeDomainBase(
"cat.1.tld",
registrant1Tld,
adminContact1Tld,
techContact1Tld,
host1,
host2,
registrar1Tld)
.asBuilder()
.setCreationTimeForTest(clock.nowUtc().minusYears(3))
.setCreationClientId("foo")
.build());
// history entries
persistResource(
makeHistoryEntry(
domainCatLol,
HistoryEntry.Type.DOMAIN_CREATE,
Period.create(1, Period.Unit.YEARS),
"created",
clock.nowUtc()));
persistResource(
makeHistoryEntry(
domainDeleted,
HistoryEntry.Type.DOMAIN_CREATE,
Period.create(1, Period.Unit.YEARS),
"created",
clock.nowUtc().minusYears(1)));
persistResource(
makeHistoryEntry(
domainCatIdn,
HistoryEntry.Type.DOMAIN_CREATE,
Period.create(1, Period.Unit.YEARS),
"created",
clock.nowUtc()));
persistResource(
makeHistoryEntry(
domainCat1Tld,
HistoryEntry.Type.DOMAIN_CREATE,
Period.create(1, Period.Unit.YEARS),
"created",
clock.nowUtc()));
persistResource(
makeHistoryEntry(
domainDeleted,
@ -226,89 +224,7 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
clock.nowUtc().minusMonths(6)));
}
private JsonObject generateExpectedJson(
String expectedOutputFile,
String name,
String punycodeName,
String handle,
@Nullable List<String> contactRoids,
@Nullable List<String> nameserverRoids,
@Nullable List<String> nameserverNames,
@Nullable String registrarName) {
ImmutableMap.Builder<String, String> substitutionsBuilder = new ImmutableMap.Builder<>();
substitutionsBuilder.put("NAME", name);
substitutionsBuilder.put("PUNYCODENAME", (punycodeName == null) ? name : punycodeName);
substitutionsBuilder.put("HANDLE", handle);
substitutionsBuilder.put("TYPE", "domain name");
substitutionsBuilder.put("NAMESERVER1ADDRESS", "1.2.3.4");
substitutionsBuilder.put("NAMESERVER2ADDRESS", "bad:f00d:cafe::15:beef");
if (registrarName != null) {
substitutionsBuilder.put("REGISTRARNAME", registrarName);
}
if (contactRoids != null) {
for (int i = 0; i < contactRoids.size(); i++) {
substitutionsBuilder.put("CONTACT" + (i + 1) + "ROID", contactRoids.get(i));
}
}
if (nameserverRoids != null) {
for (int i = 0; i < nameserverRoids.size(); i++) {
substitutionsBuilder.put("NAMESERVER" + (i + 1) + "ROID", nameserverRoids.get(i));
}
} else {
substitutionsBuilder.put("NAMESERVER1ROID", "8-ROID");
substitutionsBuilder.put("NAMESERVER2ROID", "A-ROID");
}
if (nameserverNames != null) {
for (int i = 0; i < nameserverRoids.size(); i++) {
substitutionsBuilder.put("NAMESERVER" + (i + 1) + "NAME", nameserverNames.get(i));
substitutionsBuilder.put("NAMESERVER" + (i + 1) + "PUNYCODENAME", nameserverNames.get(i));
}
} else {
substitutionsBuilder.put("NAMESERVER1NAME", "ns1.cat.lol");
substitutionsBuilder.put("NAMESERVER1PUNYCODENAME", "ns1.cat.lol");
substitutionsBuilder.put("NAMESERVER2NAME", "ns2.cat.lol");
substitutionsBuilder.put("NAMESERVER2PUNYCODENAME", "ns2.cat.lol");
}
return loadJsonFile(expectedOutputFile, substitutionsBuilder.build());
}
private JsonObject generateExpectedJsonWithTopLevelEntries(
String name,
String punycodeName,
String handle,
@Nullable List<String> contactRoids,
@Nullable List<String> nameserverRoids,
@Nullable String registrarName,
String expectedOutputFile) {
return generateExpectedJsonWithTopLevelEntries(
name,
punycodeName,
handle,
contactRoids,
nameserverRoids,
null,
registrarName,
expectedOutputFile);
}
private JsonObject generateExpectedJsonWithTopLevelEntries(
String name,
String punycodeName,
String handle,
@Nullable List<String> contactRoids,
@Nullable List<String> nameserverRoids,
@Nullable List<String> nameserverNames,
@Nullable String registrarName,
String expectedOutputFile) {
JsonObject obj =
generateExpectedJson(
expectedOutputFile,
name,
punycodeName,
handle,
contactRoids,
nameserverRoids,
nameserverNames,
registrarName);
private JsonObject addBoilerplate(JsonObject obj) {
RdapTestHelper.addDomainBoilerplateNotices(obj, "https://example.tld/rdap/");
return obj;
}
@ -316,14 +232,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
private void assertProperResponseForCatLol(String queryString, String expectedOutputFile) {
assertThat(generateActualJson(queryString))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"cat.lol",
null,
"C-LOL",
ImmutableList.of("4-ROID", "6-ROID", "2-ROID"),
ImmutableList.of("8-ROID", "A-ROID"),
"Yes Virginia <script>",
expectedOutputFile));
addBoilerplate(
jsonFileBuilder()
.addDomain("cat.lol", "C-LOL")
.addContact("4-ROID")
.addContact("6-ROID")
.addContact("2-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.cat.lol", "A-ROID")
.addRegistrar("Yes Virginia <script>")
.load(expectedOutputFile)));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -406,14 +324,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
login("idnregistrar");
assertThat(generateActualJson("cat.みんな"))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"cat.みんな",
"cat.xn--q9jyb4c",
"1D-Q9JYB4C",
ImmutableList.of("19-ROID", "1B-ROID", "17-ROID"),
ImmutableList.of("8-ROID", "A-ROID"),
"IDN Registrar",
"rdap_domain_unicode.json"));
addBoilerplate(
jsonFileBuilder()
.addDomain("cat.みんな", "1D-Q9JYB4C")
.addContact("19-ROID")
.addContact("1B-ROID")
.addContact("17-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.cat.lol", "A-ROID")
.addRegistrar("IDN Registrar")
.load("rdap_domain_unicode.json")));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -422,14 +342,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
login("idnregistrar");
assertThat(generateActualJson("cat.%E3%81%BF%E3%82%93%E3%81%AA"))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"cat.みんな",
"cat.xn--q9jyb4c",
"1D-Q9JYB4C",
ImmutableList.of("19-ROID", "1B-ROID", "17-ROID"),
ImmutableList.of("8-ROID", "A-ROID"),
"IDN Registrar",
"rdap_domain_unicode.json"));
addBoilerplate(
jsonFileBuilder()
.addDomain("cat.みんな", "1D-Q9JYB4C")
.addContact("19-ROID")
.addContact("1B-ROID")
.addContact("17-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.cat.lol", "A-ROID")
.addRegistrar("IDN Registrar")
.load("rdap_domain_unicode.json")));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -438,14 +360,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
login("idnregistrar");
assertThat(generateActualJson("cat.xn--q9jyb4c"))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"cat.みんな",
"cat.xn--q9jyb4c",
"1D-Q9JYB4C",
ImmutableList.of("19-ROID", "1B-ROID", "17-ROID"),
ImmutableList.of("8-ROID", "A-ROID"),
"IDN Registrar",
"rdap_domain_unicode.json"));
addBoilerplate(
jsonFileBuilder()
.addDomain("cat.みんな", "1D-Q9JYB4C")
.addContact("19-ROID")
.addContact("1B-ROID")
.addContact("17-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.cat.lol", "A-ROID")
.addRegistrar("IDN Registrar")
.load("rdap_domain_unicode.json")));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -454,14 +378,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
login("1tldregistrar");
assertThat(generateActualJson("cat.1.tld"))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"cat.1.tld",
null,
"25-1_TLD",
ImmutableList.of("21-ROID", "23-ROID", "1F-ROID"),
ImmutableList.of("8-ROID", "A-ROID"),
"Multilevel Registrar",
"rdap_domain.json"));
addBoilerplate(
jsonFileBuilder()
.addDomain("cat.1.tld", "25-1_TLD")
.addContact("21-ROID")
.addContact("23-ROID")
.addContact("1F-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.cat.lol", "A-ROID")
.addRegistrar("Multilevel Registrar")
.load("rdap_domain.json")));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -509,15 +435,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
action.includeDeletedParam = Optional.of(true);
assertThat(generateActualJson("dodo.lol"))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"dodo.lol",
null,
"15-LOL",
ImmutableList.of("11-ROID", "13-ROID", "F-ROID"),
ImmutableList.of("8-ROID", "D-ROID"),
ImmutableList.of("ns1.cat.lol", "ns2.dodo.lol"),
"Yes Virginia <script>",
"rdap_domain_deleted.json"));
addBoilerplate(
jsonFileBuilder()
.addDomain("dodo.lol", "15-LOL")
.addContact("11-ROID")
.addContact("13-ROID")
.addContact("F-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.dodo.lol", "D-ROID")
.addRegistrar("Yes Virginia <script>")
.load("rdap_domain_deleted.json")));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -527,15 +454,16 @@ public class RdapDomainActionTest extends RdapActionBaseTestCase<RdapDomainActio
action.includeDeletedParam = Optional.of(true);
assertThat(generateActualJson("dodo.lol"))
.isEqualTo(
generateExpectedJsonWithTopLevelEntries(
"dodo.lol",
null,
"15-LOL",
ImmutableList.of("11-ROID", "13-ROID", "F-ROID"),
ImmutableList.of("8-ROID", "D-ROID"),
ImmutableList.of("ns1.cat.lol", "ns2.dodo.lol"),
"Yes Virginia <script>",
"rdap_domain_deleted.json"));
addBoilerplate(
jsonFileBuilder()
.addDomain("dodo.lol", "15-LOL")
.addContact("11-ROID")
.addContact("13-ROID")
.addContact("F-ROID")
.addNameserver("ns1.cat.lol", "8-ROID")
.addNameserver("ns2.dodo.lol", "D-ROID")
.addRegistrar("Yes Virginia <script>")
.load("rdap_domain_deleted.json")));
assertThat(response.getStatus()).isEqualTo(200);
}

View file

@ -15,6 +15,8 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.assertThat;
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
@ -139,7 +141,6 @@ public class RdapEntityActionTest extends RdapActionBaseTestCase<RdapEntityActio
"NAME", handle,
"FULLNAME", fullName,
"ADDRESS", (address == null) ? "\"1 Smiley Row\", \"Suite みんな\"" : address,
"EMAIL", "lol@cat.みんな",
"TYPE", "entity",
"STATUS", status);
}

View file

@ -15,6 +15,9 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.assertThat;
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
import static google.registry.rdap.RdapTestHelper.parseJsonObject;
import static google.registry.request.Action.Method.GET;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.persistResource;
@ -161,14 +164,13 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
private JsonObject generateExpectedJson(
String handle,
String expectedOutputFile) {
return generateExpectedJson(handle, null, "active", null, null, expectedOutputFile);
return generateExpectedJson(handle, null, "active", null, expectedOutputFile);
}
private JsonObject generateExpectedJson(
String handle,
@Nullable String fullName,
String status,
@Nullable String email,
@Nullable String address,
String expectedOutputFile) {
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
@ -176,9 +178,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
if (fullName != null) {
builder.put("FULLNAME", fullName);
}
if (email != null) {
builder.put("EMAIL", email);
}
if (address != null) {
builder.put("ADDRESS", address);
}
@ -191,11 +190,9 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
String handle,
String fullName,
String status,
@Nullable String email,
@Nullable String address,
String expectedOutputFile) {
JsonObject obj =
generateExpectedJson(handle, fullName, status, email, address, expectedOutputFile);
JsonObject obj = generateExpectedJson(handle, fullName, status, address, expectedOutputFile);
obj = RdapTestHelper.wrapInSearchReply("entitySearchResults", obj);
RdapTestHelper.addNonDomainBoilerplateNotices(obj, "https://example.tld/rdap/");
return obj;
@ -275,7 +272,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
"2-ROID",
"Blinky (赤ベイ)",
"active",
"blinky@b.tld",
"\"123 Blinky St\", \"Blinkyland\"",
fileName);
}
@ -285,7 +281,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
String handle,
@Nullable String fullName,
String fileName) {
runSuccessfulNameTest(queryString, handle, fullName, "active", null, null, fileName);
runSuccessfulNameTest(queryString, handle, fullName, "active", null, fileName);
}
private void runSuccessfulNameTest(
@ -293,13 +289,11 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
String handle,
@Nullable String fullName,
String status,
@Nullable String email,
@Nullable String address,
String fileName) {
rememberWildcardType(queryString);
assertThat(generateActualJsonWithFullName(queryString))
.isEqualTo(
generateExpectedJsonForEntity(handle, fullName, status, email, address, fileName));
.isEqualTo(generateExpectedJsonForEntity(handle, fullName, status, address, fileName));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -316,7 +310,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
"2-ROID",
"Blinky (赤ベイ)",
"active",
"blinky@b.tld",
"\"123 Blinky St\", \"Blinkyland\"",
fileName);
}
@ -326,7 +319,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
String handle,
@Nullable String fullName,
String fileName) {
runSuccessfulHandleTest(queryString, handle, fullName, "active", null, null, fileName);
runSuccessfulHandleTest(queryString, handle, fullName, "active", null, fileName);
}
private void runSuccessfulHandleTest(
@ -334,13 +327,11 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
String handle,
@Nullable String fullName,
String status,
@Nullable String email,
@Nullable String address,
String fileName) {
rememberWildcardType(queryString);
assertThat(generateActualJsonWithHandle(queryString))
.isEqualTo(
generateExpectedJsonForEntity(handle, fullName, status, email, address, fileName));
.isEqualTo(generateExpectedJsonForEntity(handle, fullName, status, address, fileName));
assertThat(response.getStatus()).isEqualTo(200);
}
@ -869,7 +860,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
public void testNameMatchRegistrar_found_inactiveAsSameRegistrar() {
action.includeDeletedParam = Optional.of(true);
login("2-RegistrarInact");
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, "rdap_registrar.json");
verifyMetrics(0);
}
@ -877,7 +868,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
public void testNameMatchRegistrar_found_inactiveAsAdmin() {
action.includeDeletedParam = Optional.of(true);
loginAsAdmin();
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
runSuccessfulNameTest("No Way", "21", "No Way", "inactive", null, "rdap_registrar.json");
verifyMetrics(0);
}
@ -900,7 +891,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
action.includeDeletedParam = Optional.of(true);
login("2-RegistrarTest");
runSuccessfulNameTest(
"Da Test Registrar", "(none)", "Da Test Registrar", "rdap_registrar_test.json");
"Da Test Registrar", "not applicable", "Da Test Registrar", "rdap_registrar_test.json");
verifyMetrics(0);
}
@ -909,7 +900,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
action.includeDeletedParam = Optional.of(true);
loginAsAdmin();
runSuccessfulNameTest(
"Da Test Registrar", "(none)", "Da Test Registrar", "rdap_registrar_test.json");
"Da Test Registrar", "not applicable", "Da Test Registrar", "rdap_registrar_test.json");
verifyMetrics(0);
}
@ -983,7 +974,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
"",
"inactive",
"",
"",
"rdap_contact_deleted.json");
verifyMetrics(1);
}
@ -998,7 +988,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
"",
"inactive",
"",
"",
"rdap_contact_deleted.json");
verifyMetrics(1);
}
@ -1028,7 +1017,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
"",
"inactive",
"",
"",
"rdap_contact_deleted.json");
verifyMetrics(1);
}
@ -1043,7 +1031,6 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
"",
"inactive",
"",
"",
"rdap_contact_deleted.json");
verifyMetrics(1);
}
@ -1240,7 +1227,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
public void testHandleMatchRegistrar_found_inactiveAsSameRegistrar() {
action.includeDeletedParam = Optional.of(true);
login("2-RegistrarInact");
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, "rdap_registrar.json");
verifyMetrics(0);
}
@ -1248,7 +1235,7 @@ public class RdapEntitySearchActionTest extends RdapSearchActionTestCase<RdapEnt
public void testHandleMatchRegistrar_found_inactiveAsAdmin() {
action.includeDeletedParam = Optional.of(true);
loginAsAdmin();
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, null, "rdap_registrar.json");
runSuccessfulHandleTest("21", "21", "No Way", "inactive", null, "rdap_registrar.json");
verifyMetrics(0);
}
}

View file

@ -15,6 +15,7 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
import static org.mockito.Mockito.verify;
import google.registry.rdap.RdapMetrics.EndpointType;

View file

@ -15,6 +15,7 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.assertThat;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.DatastoreHelper.persistSimpleResources;
@ -29,12 +30,10 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.googlecode.objectify.Key;
import google.registry.model.contact.ContactResource;
import google.registry.model.domain.DesignatedContact;
import google.registry.model.domain.DomainBase;
import google.registry.model.domain.Period;
import google.registry.model.eppcommon.StatusValue;
import google.registry.model.host.HostResource;
import google.registry.model.ofy.Ofy;
@ -45,12 +44,12 @@ import google.registry.model.transfer.TransferData;
import google.registry.model.transfer.TransferStatus;
import google.registry.rdap.RdapJsonFormatter.OutputDataType;
import google.registry.rdap.RdapObjectClasses.BoilerplateType;
import google.registry.rdap.RdapObjectClasses.RdapEntity;
import google.registry.rdap.RdapObjectClasses.ReplyPayloadBase;
import google.registry.rdap.RdapObjectClasses.TopLevelReplyObject;
import google.registry.testing.AppEngineRule;
import google.registry.testing.FakeClock;
import google.registry.testing.InjectRule;
import java.util.Optional;
import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Rule;
@ -186,25 +185,36 @@ public class RdapJsonFormatterTest {
.build())
.build())))
.build());
domainBaseFull = persistResource(
makeDomainBase(
"cat.みんな",
contactResourceRegistrant,
contactResourceAdmin,
contactResourceTech,
hostResourceIpv4,
hostResourceIpv6,
registrar));
domainBaseNoNameserversNoTransfers = persistResource(
makeDomainBase(
"fish.みんな",
contactResourceRegistrant,
contactResourceAdmin,
contactResourceTech,
null,
null,
registrar));
domainBaseFull =
persistResource(
makeDomainBase(
"cat.みんな",
contactResourceRegistrant,
contactResourceAdmin,
contactResourceTech,
hostResourceIpv4,
hostResourceIpv6,
registrar)
.asBuilder()
.setCreationClientId("foo")
.setCreationTimeForTest(clock.nowUtc().minusMonths(4))
.setLastEppUpdateTime(clock.nowUtc().minusMonths(3))
.build());
domainBaseNoNameserversNoTransfers =
persistResource(
makeDomainBase(
"fish.みんな",
contactResourceRegistrant,
contactResourceRegistrant,
contactResourceRegistrant,
null,
null,
registrar)
.asBuilder()
.setCreationClientId("foo")
.setCreationTimeForTest(clock.nowUtc())
.setLastEppUpdateTime(null)
.build());
// Create an unused domain that references hostResourceBoth and hostResourceNoAddresses so that
// they will have "associated" (ie, StatusValue.LINKED) status.
persistResource(
@ -218,20 +228,6 @@ public class RdapJsonFormatterTest {
registrar));
// history entries
persistResource(
makeHistoryEntry(
domainBaseFull,
HistoryEntry.Type.DOMAIN_CREATE,
Period.create(1, Period.Unit.YEARS),
"created",
clock.nowUtc().minusMonths(4)));
persistResource(
makeHistoryEntry(
domainBaseNoNameserversNoTransfers,
HistoryEntry.Type.DOMAIN_CREATE,
Period.create(1, Period.Unit.YEARS),
"created",
clock.nowUtc()));
// We create 3 "transfer approved" entries, to make sure we only save the last one
persistResource(
makeHistoryEntry(
@ -307,41 +303,41 @@ public class RdapJsonFormatterTest {
.build());
}
private JsonElement loadJson(String expectedFileName) {
return new Gson().fromJson(loadFile(this.getClass(), expectedFileName), JsonElement.class);
private JsonObject loadJson(String expectedFileName) {
return new Gson().fromJson(loadFile(this.getClass(), expectedFileName), JsonObject.class);
}
@Test
public void testRegistrar() {
assertThat(rdapJsonFormatter.makeRdapJsonForRegistrar(registrar, OutputDataType.FULL).toJson())
assertThat(rdapJsonFormatter.createRdapRegistrarEntity(registrar, OutputDataType.FULL).toJson())
.isEqualTo(loadJson("rdapjson_registrar.json"));
}
@Test
public void testRegistrar_summary() {
assertThat(
rdapJsonFormatter.makeRdapJsonForRegistrar(registrar, OutputDataType.SUMMARY).toJson())
rdapJsonFormatter.createRdapRegistrarEntity(registrar, OutputDataType.SUMMARY).toJson())
.isEqualTo(loadJson("rdapjson_registrar_summary.json"));
}
@Test
public void testHost_ipv4() {
assertThat(
rdapJsonFormatter.makeRdapJsonForHost(hostResourceIpv4, OutputDataType.FULL).toJson())
rdapJsonFormatter.createRdapNameserver(hostResourceIpv4, OutputDataType.FULL).toJson())
.isEqualTo(loadJson("rdapjson_host_ipv4.json"));
}
@Test
public void testHost_ipv6() {
assertThat(
rdapJsonFormatter.makeRdapJsonForHost(hostResourceIpv6, OutputDataType.FULL).toJson())
rdapJsonFormatter.createRdapNameserver(hostResourceIpv6, OutputDataType.FULL).toJson())
.isEqualTo(loadJson("rdapjson_host_ipv6.json"));
}
@Test
public void testHost_both() {
assertThat(
rdapJsonFormatter.makeRdapJsonForHost(hostResourceBoth, OutputDataType.FULL).toJson())
rdapJsonFormatter.createRdapNameserver(hostResourceBoth, OutputDataType.FULL).toJson())
.isEqualTo(loadJson("rdapjson_host_both.json"));
}
@ -349,7 +345,7 @@ public class RdapJsonFormatterTest {
public void testHost_both_summary() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForHost(hostResourceBoth, OutputDataType.SUMMARY)
.createRdapNameserver(hostResourceBoth, OutputDataType.SUMMARY)
.toJson())
.isEqualTo(loadJson("rdapjson_host_both_summary.json"));
}
@ -358,7 +354,7 @@ public class RdapJsonFormatterTest {
public void testHost_noAddresses() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForHost(hostResourceNoAddresses, OutputDataType.FULL)
.createRdapNameserver(hostResourceNoAddresses, OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_host_no_addresses.json"));
}
@ -367,7 +363,7 @@ public class RdapJsonFormatterTest {
public void testHost_notLinked() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForHost(hostResourceNotLinked, OutputDataType.FULL)
.createRdapNameserver(hostResourceNotLinked, OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_host_not_linked.json"));
}
@ -376,7 +372,7 @@ public class RdapJsonFormatterTest {
public void testHost_superordinateHasPendingTransfer() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForHost(hostResourceSuperordinatePendingTransfer, OutputDataType.FULL)
.createRdapNameserver(hostResourceSuperordinatePendingTransfer, OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_host_pending_transfer.json"));
}
@ -385,9 +381,9 @@ public class RdapJsonFormatterTest {
public void testRegistrant() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
.createRdapContactEntity(
contactResourceRegistrant,
Optional.of(DesignatedContact.Type.REGISTRANT),
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_registrant.json"));
@ -397,9 +393,9 @@ public class RdapJsonFormatterTest {
public void testRegistrant_summary() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
.createRdapContactEntity(
contactResourceRegistrant,
Optional.of(DesignatedContact.Type.REGISTRANT),
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
OutputDataType.SUMMARY)
.toJson())
.isEqualTo(loadJson("rdapjson_registrant_summary.json"));
@ -410,9 +406,9 @@ public class RdapJsonFormatterTest {
rdapJsonFormatter.rdapAuthorization = RdapAuthorization.PUBLIC_AUTHORIZATION;
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
.createRdapContactEntity(
contactResourceRegistrant,
Optional.of(DesignatedContact.Type.REGISTRANT),
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_registrant_logged_out.json"));
@ -429,9 +425,9 @@ public class RdapJsonFormatterTest {
0, rdapJsonFormatter.fullServletPath.length() - 1);
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
.createRdapContactEntity(
contactResourceRegistrant,
Optional.of(DesignatedContact.Type.REGISTRANT),
ImmutableSet.of(RdapEntity.Role.REGISTRANT),
OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_registrant.json"));
@ -441,9 +437,9 @@ public class RdapJsonFormatterTest {
public void testAdmin() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
.createRdapContactEntity(
contactResourceAdmin,
Optional.of(DesignatedContact.Type.ADMIN),
ImmutableSet.of(RdapEntity.Role.ADMIN),
OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_admincontact.json"));
@ -453,10 +449,8 @@ public class RdapJsonFormatterTest {
public void testTech() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
contactResourceTech,
Optional.of(DesignatedContact.Type.TECH),
OutputDataType.FULL)
.createRdapContactEntity(
contactResourceTech, ImmutableSet.of(RdapEntity.Role.TECH), OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_techcontact.json"));
}
@ -465,10 +459,8 @@ public class RdapJsonFormatterTest {
public void testRolelessContact() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
contactResourceTech,
Optional.empty(),
OutputDataType.FULL)
.createRdapContactEntity(
contactResourceTech, ImmutableSet.of(), OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_rolelesscontact.json"));
}
@ -477,47 +469,36 @@ public class RdapJsonFormatterTest {
public void testUnlinkedContact() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForContact(
contactResourceNotLinked,
Optional.empty(),
OutputDataType.FULL)
.createRdapContactEntity(
contactResourceNotLinked, ImmutableSet.of(), OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_unlinkedcontact.json"));
}
@Test
public void testDomain_full() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForDomain(
domainBaseFull,
OutputDataType.FULL)
.toJson())
assertThat(rdapJsonFormatter.createRdapDomain(domainBaseFull, OutputDataType.FULL).toJson())
.isEqualTo(loadJson("rdapjson_domain_full.json"));
}
@Test
public void testDomain_summary() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForDomain(domainBaseFull, OutputDataType.SUMMARY)
.toJson())
assertThat(rdapJsonFormatter.createRdapDomain(domainBaseFull, OutputDataType.SUMMARY).toJson())
.isEqualTo(loadJson("rdapjson_domain_summary.json"));
}
@Test
public void testDomain_logged_out() {
rdapJsonFormatter.rdapAuthorization = RdapAuthorization.PUBLIC_AUTHORIZATION;
assertThat(
rdapJsonFormatter.makeRdapJsonForDomain(domainBaseFull, OutputDataType.FULL).toJson())
assertThat(rdapJsonFormatter.createRdapDomain(domainBaseFull, OutputDataType.FULL).toJson())
.isEqualTo(loadJson("rdapjson_domain_logged_out.json"));
}
@Test
public void testDomain_noNameserversNoTransfers() {
public void testDomain_noNameserversNoTransfersMultipleRoleContact() {
assertThat(
rdapJsonFormatter
.makeRdapJsonForDomain(domainBaseNoNameserversNoTransfers, OutputDataType.FULL)
.createRdapDomain(domainBaseNoNameserversNoTransfers, OutputDataType.FULL)
.toJson())
.isEqualTo(loadJson("rdapjson_domain_no_nameservers.json"));
}

View file

@ -15,6 +15,8 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.assertThat;
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.FullFieldsTestEntityHelper.makeAndPersistHostResource;

View file

@ -15,6 +15,9 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static google.registry.rdap.RdapTestHelper.assertThat;
import static google.registry.rdap.RdapTestHelper.loadJsonFile;
import static google.registry.rdap.RdapTestHelper.parseJsonObject;
import static google.registry.request.Action.Method.GET;
import static google.registry.testing.DatastoreHelper.createTld;
import static google.registry.testing.DatastoreHelper.persistResource;

View file

@ -14,22 +14,27 @@
package google.registry.rdap;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.base.Preconditions.checkArgument;
import static google.registry.testing.TestDataHelper.loadFile;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
import com.google.common.collect.Streams;
import com.google.common.truth.Truth;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import google.registry.util.Clock;
import java.util.Map;
import java.util.Objects;
public class RdapTestHelper {
private static final Gson GSON = new GsonBuilder().create();
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
static JsonElement createJson(String... lines) {
return GSON.fromJson(Joiner.on("\n").join(lines), JsonElement.class);
@ -130,9 +135,11 @@ public class RdapTestHelper {
new Gson()
.toJsonTree(
ImmutableMap.of(
"title",
"RDDS Inaccuracy Complaint Form",
"description",
ImmutableList.of(
"URL of the ICANN Whois Inaccuracy Complaint Form:"
"URL of the ICANN RDDS Inaccuracy Complaint Form:"
+ " https://www.icann.org/wicf"),
"links",
ImmutableList.of(
@ -177,7 +184,7 @@ public class RdapTestHelper {
static String getLinkToNext(JsonObject results) {
JsonArray notices = results.getAsJsonArray("notices");
assertThat(notices).isNotNull();
Truth.assertThat(notices).isNotNull();
return Streams.stream(notices)
.map(notice -> notice.getAsJsonObject())
.filter(notice -> notice.has("title"))
@ -189,6 +196,43 @@ public class RdapTestHelper {
.findAny().orElse(null);
}
/**
* Loads a resource testdata JSON file, and applies substitutions.
*
* <p>{@code loadJsonFile("filename.json", "NANE", "something", "ID", "other")} is the same as
* {@code loadJsonFile("filename.json", ImmutableMap.of("NANE", "something", "ID", "other"))}.
*
* @param filename the name of the file from the testdata directory
* @param keysAndValues alternating substitution key and value. The substitutions are applied to
* the file before parsing it to JSON.
*/
static JsonObject loadJsonFile(String filename, String... keysAndValues) {
checkArgument(keysAndValues.length % 2 == 0);
ImmutableMap.Builder<String, String> builder = new ImmutableMap.Builder<>();
for (int i = 0; i < keysAndValues.length; i += 2) {
if (keysAndValues[i + 1] != null) {
builder.put(keysAndValues[i], keysAndValues[i + 1]);
}
}
return loadJsonFile(filename, builder.build());
}
/**
* Loads a resource testdata JSON file, and applies substitutions.
*
* @param filename the name of the file from the testdata directory
* @param substitutions map of substitutions to apply to the file. The substitutions are applied
* to the file before parsing it to JSON.
*/
static JsonObject loadJsonFile(String filename, Map<String, String> substitutions) {
System.out.format("Loading JSON file: %s\n", filename);
return parseJsonObject(loadFile(RdapTestHelper.class, filename, substitutions));
}
static JsonObject parseJsonObject(String jsonString) {
return GSON.fromJson(jsonString, JsonObject.class);
}
static JsonObject wrapInSearchReply(String searchResultsName, JsonObject obj) {
JsonArray searchResults = new JsonArray();
searchResults.add(obj);
@ -199,4 +243,83 @@ public class RdapTestHelper {
obj.remove("rdapConformance");
return reply;
}
/** A small utility class to show nicer "huge JSON" diffs. */
static final class GsonSubject {
private JsonObject actual;
GsonSubject(JsonObject actual) {
this.actual = actual;
}
void isEqualTo(JsonObject expected) {
if (actual.equals(expected)) {
return;
}
StringBuilder difference = new StringBuilder();
difference.append("Actual JSON different than expected:");
diff("", actual, expected, difference);
throw new AssertionError(difference.toString());
}
private String jsonifyAndIndent(JsonElement element) {
String json = GSON.toJson(element);
return json.replaceAll("\n", "\n ");
}
private JsonElement getOrNull(JsonArray jsonArray, int index) {
if (index >= jsonArray.size()) {
return null;
}
return jsonArray.get(index);
}
/** Writes down a human-readable diff between actual and expected into the StringBuilder. */
private void diff(
String name, JsonElement actual, JsonElement expected, StringBuilder builder) {
if (Objects.equals(actual, expected)) {
return;
}
if (actual == null) {
builder.append(String.format("Missing: %s ->%s\n\n", name, jsonifyAndIndent(expected)));
return;
}
if (expected == null) {
builder.append(String.format("Unexpected: %s -> %s\n\n", name, jsonifyAndIndent(actual)));
return;
}
if (actual.isJsonObject() && expected.isJsonObject()) {
// We put the "expected" first in the union so that the "expected" keys will all be first
// and in order
for (String key :
Sets.union(expected.getAsJsonObject().keySet(), actual.getAsJsonObject().keySet())) {
diff(
name + "." + key,
actual.getAsJsonObject().get(key),
expected.getAsJsonObject().get(key),
builder);
}
return;
}
if (actual.isJsonArray() && expected.isJsonArray()) {
int commonSize = Math.max(actual.getAsJsonArray().size(), expected.getAsJsonArray().size());
for (int i = 0; i < commonSize; i++) {
diff(
String.format("%s[%s]", name, i),
getOrNull(actual.getAsJsonArray(), i),
getOrNull(expected.getAsJsonArray(), i),
builder);
}
return;
}
builder.append(
String.format(
"Different: %s -> %s\ninstead of %s\n\n",
name, jsonifyAndIndent(actual), jsonifyAndIndent(expected)));
}
}
static GsonSubject assertThat(JsonObject actual) {
return new GsonSubject(actual);
}
}

View file

@ -1,31 +1,26 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
"handle" : "%NAME%",
"status" : ["active", "associated"],
"links" :
[
"objectClassName": "entity",
"handle": "%NAME%",
"status": ["active", "associated"],
"links": [
{
"value" : "https://example.tld/rdap/entity/%NAME%",
"rel" : "self",
"value": "https://example.tld/rdap/entity/%NAME%",
"rel": "self",
"href": "https://example.tld/rdap/entity/%NAME%",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -43,10 +38,18 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "%EMAIL%"]
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,33 +1,43 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
"handle" : "%NAME%",
"status" : ["active", "associated", "removed"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/%NAME%",
"rel" : "self",
"href": "https://example.tld/rdap/entity/%NAME%",
"type" : "application/rdap+json"
}
],
"handle" : "REDACTED FOR PRIVACY",
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","REDACTED FOR PRIVACY"],
["org",{},"text","REDACTED FOR PRIVACY"],
[
"adr",
{},
"text",
[
"",
"",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"XX"
]
],
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
]
],
"remarks": [
{
"title": "Redacted for Privacy",
"title": "REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"links": [
{
@ -41,6 +51,13 @@
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,5 +1,6 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
@ -15,11 +16,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -44,8 +40,16 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "%EMAIL%"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,5 +1,6 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
@ -16,20 +17,6 @@
],
"events":
[
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "deletion",
"eventActor": "foo",
"eventDate": "1999-07-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "1999-07-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -41,5 +28,15 @@
[
["version", {}, "text", "4.0"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,33 +1,43 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
"handle" : "%NAME%",
"status" : ["active", "removed"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/%NAME%",
"rel" : "self",
"href": "https://example.tld/rdap/entity/%NAME%",
"type" : "application/rdap+json"
}
],
"handle" : "REDACTED FOR PRIVACY",
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","REDACTED FOR PRIVACY"],
["org",{},"text","REDACTED FOR PRIVACY"],
[
"adr",
{},
"text",
[
"",
"",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"XX"
]
],
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
]
],
"remarks": [
{
"title": "Redacted for Privacy",
"title": "REDACTED FOR PRIVACY",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
@ -42,6 +52,13 @@
"type" : "text/html"
}
]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,5 +1,9 @@
{
"objectClassName": "domain",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"handle": "%DOMAIN_HANDLE_1%",
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"status": [
@ -8,20 +12,19 @@
"client transfer prohibited",
"server update prohibited"
],
"handle": "%HANDLE%",
"links": [
{
"href": "https://example.tld/rdap/domain/%NAME%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%NAME%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
@ -30,506 +33,45 @@
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "2009-05-29T20:13:00.000Z"
}
],
"nameservers": [
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER1ROID%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
}
],
"ldhName": "%NAMESERVER1NAME%",
"ipAddresses": {
"v4": [
"%NAMESERVER1ADDRESS%"
]
},
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
"handle": "%NAMESERVER_HANDLE_1%",
"ldhName": "%NAMESERVER_NAME_1%",
"links": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER2ROID%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
}
],
"ldhName": "%NAMESERVER2NAME%",
"ipAddresses": {
"v6": [
"%NAMESERVER2ADDRESS%"
]
},
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
}
],
"ldhName": "%NAME%",
"entities": [
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT1ROID%",
"roles": [
"administrative"
],
"handle": "%NAMESERVER_HANDLE_2%",
"ldhName": "%NAMESERVER_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Santa Claus"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"BOFH@cat.lol"
]
]
]
},
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT2ROID%",
"roles": [
"technical"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"The Raven"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"bog@cat.lol"
]
]
]
},
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT3ROID%",
"roles": [
"registrant"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Goblin Market"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"lol@cat.lol"
]
]
]
},
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRARNAME%"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
}
],
"remarks": [
@ -543,5 +85,181 @@
]
}
],
"objectClassName": "domain"
"secureDNS": {
"delegationSigned": true,
"zoneSigned": true,
"dsData": [
{"algorithm": 2, "digest": "DEADFACE", "digestType": 3, "keyTag": 1}
]
},
"entities": [
{
"objectClassName": "entity",
"handle": "1",
"roles": [ "registrar" ],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities": [
{
"objectClassName": "entity",
"roles": ["abuse"],
"status": ["active"],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Jake Doe"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551216"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551216"],
["email", {}, "text", "jakedoe@example.com"]
]
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_1%",
"roles": ["administrative"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Santa Claus"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_2%",
"roles": ["technical"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Raven"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_3%",
"roles": [
"registrant"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Goblin Market"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}
]
}

View file

@ -1,27 +1,30 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%HANDLE%",
"links": [
{
"href": "https://example.tld/rdap/domain/%NAME%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%NAME%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
@ -30,468 +33,57 @@
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "2009-05-29T20:13:00.000Z"
}
],
"nameservers": [
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER1ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_1%",
"ldhName": "%NAMESERVER_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
}
],
"ldhName": "%NAMESERVER1NAME%",
"ipAddresses": {
"v4": [
"%NAMESERVER1ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER2ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_2%",
"ldhName": "%NAMESERVER_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
}
],
"ldhName": "%NAMESERVER2NAME%",
"ipAddresses": {
"v6": [
"%NAMESERVER2ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"ldhName": "%NAME%",
"entities": [
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT1ROID%",
"roles": [
"administrative"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Sieglinde"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"sieglinde@cat2.lol"
]
]
]
},
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT2ROID%",
"roles": [
"technical"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Siegfried"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"siegfried@cat2.lol"
]
]
]
},
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT3ROID%",
"roles": [
"registrant"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Siegmund"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"siegmund@cat2.lol"
]
]
]
},
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
@ -506,24 +98,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRARNAME%"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
]
],
"publicIds" : [
@ -540,8 +115,143 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities": [
{
"objectClassName": "entity",
"roles": ["abuse"],
"status": ["active"],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","Jake Doe"],
["tel",{"type":["voice"]},"uri","tel:+1.2125551216"],
["tel",{"type":["fax"]},"uri","tel:+1.2125551216"],
["email",{},"text","jakedoe@example.com"]
]
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_1%",
"roles": ["administrative"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Sieglinde"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States" ] ],
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_2%",
"roles": ["technical"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Siegfried"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States" ] ],
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_3%",
"roles": ["registrant"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Siegmund"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States" ] ],
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}
],
"objectClassName": "domain"
"secureDNS": {
"delegationSigned": true,
"zoneSigned": true,
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}]
}
}

View file

@ -1,7 +1,11 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName": "domain",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"handle": "%DOMAIN_HANDLE_1%",
"status": [
"client delete prohibited",
"client renew prohibited",
@ -9,497 +13,91 @@
"inactive",
"server update prohibited"
],
"handle": "%HANDLE%",
"links": [
{
"href": "https://example.tld/rdap/domain/%NAME%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%NAME%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
"eventDate": "2110-10-08T00:44:59.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "deletion",
"eventActor": "foo",
"eventDate": "1999-07-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
"eventDate": "2110-10-08T00:44:59.000Z"
},
{
"eventAction": "last changed",
"eventDate": "1999-07-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
"eventDate": "2009-05-29T20:13:00.000Z"
}
],
"nameservers": [
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER1ROID%",
"objectClassName": "nameserver",
"ldhName": "%NAMESERVER_NAME_1%",
"handle": "%NAMESERVER_HANDLE_1%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
}
],
"ldhName": "%NAMESERVER1NAME%",
"ipAddresses": {
"v4": [
"%NAMESERVER1ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
{
"status": [
"active"
],
"handle": "%NAMESERVER2ROID%",
"objectClassName": "nameserver",
"ldhName": "%NAMESERVER_NAME_2%",
"handle": "%NAMESERVER_HANDLE_2%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
}
],
"ldhName": "%NAMESERVER2NAME%",
"ipAddresses": {
"v6": [
"%NAMESERVER2ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"ldhName": "%NAME%",
"entities": [
{
"status": [
"active"
],
"handle": "%CONTACT1ROID%",
"roles": [
"administrative"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Santa Claus"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"BOFH@cat.lol"
]
]
]
},
{
"status": [
"active"
],
"handle": "%CONTACT2ROID%",
"roles": [
"technical"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"The Raven"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"bog@cat.lol"
]
]
]
},
{
"status": [
"active"
],
"handle": "%CONTACT3ROID%",
"roles": [
"registrant"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Goblin Market"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"lol@cat.lol"
]
]
]
},
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"handle": "1",
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
@ -512,32 +110,9 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRARNAME%"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -546,8 +121,145 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities": [
{
"objectClassName": "entity",
"roles": ["abuse"],
"status": ["active"],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Jake Doe"],
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2125551216"],
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2125551216"],
["email", {}, "text", "jakedoe@example.com"]
]
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_1%",
"roles": ["administrative"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Santa Claus"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420" ]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"roles": ["technical"],
"handle": "%CONTACT_HANDLE_2%",
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Raven"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_3%",
"roles": ["registrant"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Goblin Market"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", { "type": [ "voice" ] }, "uri", "tel:+1.2126660420"],
["tel", { "type": [ "fax" ] }, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}
],
"objectClassName": "domain"
"secureDNS": {
"delegationSigned": true,
"zoneSigned": true,
"dsData": [
{"algorithm": 2, "digest": "DEADFACE", "digestType": 3, "keyTag": 1}
]
}
}

View file

@ -1,10 +1,11 @@
{
"objectClassName": "domain",
"handle": "%HANDLE%",
"ldhName": "%NAME%",
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"status": [
"client delete prohibited",
"client renew prohibited",
@ -13,17 +14,17 @@
],
"links": [
{
"href": "https://example.tld/rdap/domain/%NAME%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%NAME%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
@ -32,192 +33,67 @@
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "2009-05-29T20:13:00.000Z"
}
],
"nameservers": [
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER1ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_1%",
"ldhName": "%NAMESERVER_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1NAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
}
],
"ldhName": "%NAMESERVER1NAME%",
"ipAddresses": {
"v4": [
"%NAMESERVER1ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER2ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_2%",
"ldhName": "%NAMESERVER_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2NAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
}
],
"ldhName": "%NAMESERVER2NAME%",
"ipAddresses": {
"v6": [
"%NAMESERVER2ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"secureDNS" : {
"delegationSigned": true,
"zoneSigned":true,
"dsData":[
{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}
]
},
"entities": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
"links" : [
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
@ -225,32 +101,36 @@
"type" : "application/rdap+json"
}
],
"publicIds" :
[
"publicIds" : [
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRARNAME%"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
]
],
"entities" : [
{
"objectClassName":"entity",
"roles":["abuse"],
"status":["active"],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","Jake Doe"],
["tel",{"type":["voice"]},"uri","tel:+1.2125551216"],
["tel",{"type":["fax"]},"uri","tel:+1.2125551216"],
["email",{},"text","jakedoe@example.com"]
]
]
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -260,15 +140,131 @@
"type": "object truncated due to unexplainable reasons"
}
]
}
],
"remarks": [
},
{
"title": "Contacts Hidden",
"description": [
"Domain contacts are visible only to the owning registrar."
"objectClassName": "entity",
"handle": "REDACTED FOR PRIVACY",
"roles":["administrative"],
"remarks": [
{
"title":"REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links":[
{
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel":"alternate",
"type":"text/html",
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title":"EMAIL REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"type": "object truncated due to unexplainable reasons"
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "REDACTED FOR PRIVACY"],
["org", {}, "text", "REDACTED FOR PRIVACY"],
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
]
]
},
{
"objectClassName":"entity",
"handle":"REDACTED FOR PRIVACY",
"remarks":[
{
"title":"REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description":[
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links":[
{
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel":"alternate",
"type":"text/html",
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"description":[
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
],
"title":"EMAIL REDACTED FOR PRIVACY",
"type":"object redacted due to authorization"
}
],
"roles": ["technical"],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "REDACTED FOR PRIVACY"],
["org", {}, "text", "REDACTED FOR PRIVACY"],
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
]
]
},
{
"objectClassName":"entity",
"handle":"REDACTED FOR PRIVACY",
"remarks":[
{
"title":"REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description":[
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links":[
{
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel":"alternate",
"type":"text/html",
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title":"EMAIL REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description":[
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"roles":["registrant"],
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "REDACTED FOR PRIVACY"],
["org", {}, "text", "REDACTED FOR PRIVACY"],
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
]
]
}
]
}

View file

@ -1,5 +1,10 @@
{
"objectClassName": "domain",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"unicodeName": "%DOMAIN_UNICODE_NAME_1%",
"handle": "%DOMAIN_HANDLE_1%",
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"status": [
@ -8,21 +13,19 @@
"client transfer prohibited",
"server update prohibited"
],
"unicodeName": "%NAME%",
"handle": "%HANDLE%",
"links": [
{
"href": "https://example.tld/rdap/domain/%PUNYCODENAME%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%PUNYCODENAME%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
@ -31,474 +34,70 @@
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "2009-05-29T20:13:00.000Z"
}
],
"nameservers": [
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER1ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_1%",
"ldhName": "%NAMESERVER_NAME_1%",
"links": [
{
"href":
"https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%",
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value":
"https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%"
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
}
],
"ldhName": "%NAMESERVER1PUNYCODENAME%",
"ipAddresses": {
"v4": [
"%NAMESERVER1ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER2ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_2%",
"ldhName": "%NAMESERVER_NAME_2%",
"links": [
{
"href":
"https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%",
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value":
"https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%"
"https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
}
],
"ldhName": "%NAMESERVER2PUNYCODENAME%",
"ipAddresses": {
"v6": [
"%NAMESERVER2ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"ldhName": "%PUNYCODENAME%",
"secureDNS": {
"delegationSigned": true,
"zoneSigned": true,
"dsData": [
{"algorithm": 2, "digest": "DEADFACE", "digestType": 3, "keyTag": 1}
]
},
"entities": [
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT1ROID%",
"roles": [
"administrative"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT1ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT1ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Santa Claus"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"BOFH@cat.lol"
]
]
]
},
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT2ROID%",
"roles": [
"technical"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT2ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT2ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"The Raven"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"bog@cat.lol"
]
]
]
},
{
"status": [
"active",
"associated"
],
"handle": "%CONTACT3ROID%",
"roles": [
"registrant"
],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT3ROID%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT3ROID%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "entity",
"vcardArray": [
"vcard",
[
[
"version",
{},
"text",
"4.0"
],
[
"fn",
{},
"text",
"Goblin Market"
],
[
"org",
{},
"text",
"GOOGLE INCORPORATED <script>"
],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"KOKOMO",
"BM",
"31337",
"United States"
]
],
[
"tel",
{
"type": [
"voice"
]
},
"uri",
"tel:+1.2126660420"
],
[
"tel",
{
"type": [
"fax"
]
},
"uri",
"tel:+1.2126660420"
],
[
"email",
{},
"text",
"lol@cat.lol"
]
]
]
},
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"roles": ["registrar"],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
@ -511,24 +110,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRARNAME%"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type":["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
]
],
"publicIds" : [
@ -545,8 +127,138 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities": [
{
"objectClassName": "entity",
"roles": ["abuse"],
"status": ["active"],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Jake Doe"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551216"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551216"],
["email", {}, "text", "jakedoe@example.com"]
]
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_1%",
"roles": ["administrative"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_1%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Santa Claus"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", [ "", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420" ]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_2%",
"roles": ["technical"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_2%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Raven"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName": "entity",
"handle": "%CONTACT_HANDLE_3%",
"roles": ["registrant"],
"links": [
{
"href": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/%CONTACT_HANDLE_3%"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Goblin Market"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", ["", "", "123 Example Boulevard <script>", "KOKOMO", "BM", "31337", "United States"]],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}
],
"objectClassName": "domain"
]
}

View file

@ -1,11 +1,12 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName": "domain",
"handle": "%HANDLE%",
"ldhName": "%PUNYCODENAME%",
"unicodeName": "%NAME%",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"unicodeName": "%DOMAIN_UNICODE_NAME_1%",
"status": [
"client delete prohibited",
"client renew prohibited",
@ -14,17 +15,17 @@
],
"links": [
{
"href": "https://example.tld/rdap/domain/%PUNYCODENAME%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%PUNYCODENAME%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "2000-01-01T00:00:00.000Z"
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
@ -33,194 +34,69 @@
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "2009-05-29T20:13:00.000Z"
}
],
"nameservers": [
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER1ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_1%",
"ldhName": "%NAMESERVER_NAME_1%",
"unicodeName": "%NAMESERVER_UNICODE_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER1PUNYCODENAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_1%"
}
],
"ldhName": "%NAMESERVER1PUNYCODENAME%",
"unicodeName": "%NAMESERVER1NAME%",
"ipAddresses": {
"v4": [
"%NAMESERVER1ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
{
"status": [
"active",
"associated"
],
"handle": "%NAMESERVER2ROID%",
"objectClassName": "nameserver",
"handle": "%NAMESERVER_HANDLE_2%",
"ldhName": "%NAMESERVER_NAME_2%",
"unicodeName": "%NAMESERVER_UNICODE_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%",
"href": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/nameserver/%NAMESERVER2PUNYCODENAME%"
"value": "https://example.tld/rdap/nameserver/%NAMESERVER_NAME_2%"
}
],
"ldhName": "%NAMESERVER2PUNYCODENAME%",
"unicodeName": "%NAMESERVER2NAME%",
"ipAddresses": {
"v6": [
"%NAMESERVER2ADDRESS%"
]
},
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities": [
{
"objectClassName": "entity",
"status": [ "active" ],
"handle": "1",
"roles": [ "registrar" ],
"links": [
{
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/entity/1"
}
],
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
[
"adr",
{},
"text",
[
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"
]
],
["tel", {"type":["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"publicIds" : [
{
"type": "IANA Registrar ID",
"identifier":"1"
}
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"secureDNS" : {
"delegationSigned": true,
"zoneSigned":true,
"dsData":[
{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}
]
},
"entities": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
"links" : [
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
@ -228,32 +104,36 @@
"type" : "application/rdap+json"
}
],
"publicIds" :
[
"publicIds" : [
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "%REGISTRARNAME%"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "%REGISTRAR_FULL_NAME_1%"]
]
],
"entities" : [
{
"objectClassName":"entity",
"roles":["abuse"],
"status":["active"],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","Jake Doe"],
["tel",{"type":["voice"]},"uri","tel:+1.2125551216"],
["tel",{"type":["fax"]},"uri","tel:+1.2125551216"],
["email",{},"text","jakedoe@example.com"]
]
]
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -263,15 +143,131 @@
"type": "object truncated due to unexplainable reasons"
}
]
}
],
"remarks": [
},
{
"title": "Contacts Hidden",
"description": [
"Domain contacts are visible only to the owning registrar."
"objectClassName": "entity",
"handle": "REDACTED FOR PRIVACY",
"roles":["administrative"],
"remarks": [
{
"title":"REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links":[
{
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel":"alternate",
"type":"text/html",
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title":"EMAIL REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"type": "object truncated due to unexplainable reasons"
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "REDACTED FOR PRIVACY"],
["org", {}, "text", "REDACTED FOR PRIVACY"],
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
]
]
},
{
"objectClassName":"entity",
"handle":"REDACTED FOR PRIVACY",
"remarks":[
{
"title":"REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description":[
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links":[
{
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel":"alternate",
"type":"text/html",
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"description":[
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
],
"title":"EMAIL REDACTED FOR PRIVACY",
"type":"object redacted due to authorization"
}
],
"roles": ["technical"],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "REDACTED FOR PRIVACY"],
["org", {}, "text", "REDACTED FOR PRIVACY"],
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
]
]
},
{
"objectClassName":"entity",
"handle":"REDACTED FOR PRIVACY",
"remarks":[
{
"title":"REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description":[
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links":[
{
"href":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel":"alternate",
"type":"text/html",
"value":"https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title":"EMAIL REDACTED FOR PRIVACY",
"type":"object redacted due to authorization",
"description":[
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"roles":["registrant"],
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "REDACTED FOR PRIVACY"],
["org", {}, "text", "REDACTED FOR PRIVACY"],
["adr", {}, "text", ["", "", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "REDACTED FOR PRIVACY", "XX"]],
["tel", {"type":["voice"]}, "uri", "tel:REDACTED FOR PRIVACY"],
["tel", {"type":["fax"]}, "uri", "tel:REDACTED FOR PRIVACY"]
]
]
}
]
}

View file

@ -1,119 +1,88 @@
{
"domainSearchResults": [
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE1%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"ldhName": "%DOMAINNAME1%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE2%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_2%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
}
],
"ldhName": "%DOMAINNAME2%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE3%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_3%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME3%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME3%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
}
],
"ldhName": "%DOMAINNAME3%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE4%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_4%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME4%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME4%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
}
],
"ldhName": "%DOMAINNAME4%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
}
],
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices" :
@ -186,10 +155,8 @@
]
},
{
"description" :
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"title": "RDDS Inaccuracy Complaint Form",
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links" :
[
{

View file

@ -1,120 +1,89 @@
{
"domainSearchResults": [
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE1%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"ldhName": "%DOMAINNAME1%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE2%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_2%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
}
],
"ldhName": "%DOMAINNAME2%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE3%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_3%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME3%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME3%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
}
],
"ldhName": "%DOMAINNAME3%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE4%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_4%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
"unicodeName": "%DOMAIN_UNICODE_NAME_4%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
}
],
"ldhName": "%DOMAINPUNYCODENAME4%",
"unicodeName": "%DOMAINNAME4%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
}
],
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices" :
@ -167,10 +136,8 @@
]
},
{
"description" :
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"title": "RDDS Inaccuracy Complaint Form",
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links" :
[
{

View file

@ -1,120 +1,89 @@
{
"domainSearchResults": [
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE1%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME1%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME1%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"ldhName": "%DOMAINPUNYCODENAME1%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE2%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_2%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME2%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME2%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
}
],
"ldhName": "%DOMAINPUNYCODENAME2%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE3%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_3%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME3%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME3%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
}
],
"ldhName": "%DOMAINPUNYCODENAME3%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE4%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_4%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
"unicodeName": "%DOMAIN_UNICODE_NAME_4%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINPUNYCODENAME4%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
}
],
"ldhName": "%DOMAINPUNYCODENAME4%",
"unicodeName": "%DOMAINNAME4%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"description": ["Summary data only. For complete data, send a specific query for the object."],
"type": "object truncated due to unexplainable reasons"
}
]
}
],
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices" :
@ -187,10 +156,8 @@
]
},
{
"description" :
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"title": "RDDS Inaccuracy Complaint Form",
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links" :
[
{

View file

@ -1,23 +1,21 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"domainSearchResults": [
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE1%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"ldhName": "%DOMAINNAME1%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
@ -29,23 +27,17 @@
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE2%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_2%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
}
],
"ldhName": "%DOMAINNAME2%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
@ -57,14 +49,10 @@
]
}
],
"rdapConformance": [
"icann_rdap_response_profile_0"
],
"notices" :
[
"notices": [
{
"title" : "RDAP Terms of Service",
"description" :
"title": "RDAP Terms of Service",
"description":
[
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
"Any information provided is 'as is' without any guarantee of accuracy.",
@ -77,50 +65,42 @@
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
"We reserve the right to modify this agreement at any time."
],
"links" :
"links":
[
{
"value" : "https://example.tld/rdap/help/tos",
"rel" : "alternate",
"href" : "https://www.registry.tld/about/rdap/tos.html",
"type" : "text/html"
"value": "https://example.tld/rdap/help/tos",
"rel": "alternate",
"href": "https://www.registry.tld/about/rdap/tos.html",
"type": "text/html"
}
]
},
{
"description" :
[
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
]
"description": ["This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"]
},
{
"title" : "Status Codes",
"description" :
[
"For more information on domain status codes, please visit https://icann.org/epp"
],
"links" :
"title": "Status Codes",
"description": ["For more information on domain status codes, please visit https://icann.org/epp"],
"links":
[
{
"value" : "https://icann.org/epp",
"rel" : "alternate",
"href" : "https://icann.org/epp",
"type" : "text/html"
"value": "https://icann.org/epp",
"rel": "alternate",
"href": "https://icann.org/epp",
"type": "text/html"
}
]
},
{
"description" :
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"links" :
"title": "RDDS Inaccuracy Complaint Form",
"description": ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links":
[
{
"value" : "https://www.icann.org/wicf",
"rel" : "alternate",
"href" : "https://www.icann.org/wicf",
"type" : "text/html"
"value": "https://www.icann.org/wicf",
"rel": "alternate",
"href": "https://www.icann.org/wicf",
"type": "text/html"
}
]
}

View file

@ -6,6 +6,7 @@
"%DESCRIPTION%"
],
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices": [

View file

@ -1,5 +1,5 @@
{
"rdapConformance" : ["icann_rdap_response_profile_0"],
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
"notices" :
[
{

View file

@ -1,5 +1,5 @@
{
"rdapConformance" : ["icann_rdap_response_profile_0"],
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
"notices" :
[
{

View file

@ -1,12 +1,12 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"status": [
"%STATUS%"
],
"ldhName": "%NAME%",
"objectClassName": "nameserver",
"handle": "%HANDLE%",
"ldhName": "%NAME%",
"status": ["%STATUS%"],
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAME%",
@ -21,22 +21,15 @@
]
},
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -59,17 +52,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
["fn", {}, "text", "The Registrar"]
]
],
"remarks": [

View file

@ -1,5 +1,6 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"status": [
@ -16,11 +17,6 @@
],
"ldhName": "%NAME%",
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -31,7 +27,6 @@
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -54,17 +49,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
["fn", {}, "text", "The Registrar"]
]
],
"remarks": [

View file

@ -1,13 +1,15 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName": "nameserver",
"handle": "%HANDLE%",
"ldhName": "%NAME%",
"status": [
"active",
"associated"
],
"ldhName": "%NAME%",
"handle": "%HANDLE%",
"links": [
{
"href": "https://example.tld/rdap/nameserver/%NAME%",
@ -22,22 +24,15 @@
]
},
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -60,17 +55,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
["fn", {}, "text", "The Registrar"]
]
],
"remarks": [

View file

@ -1,12 +1,13 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"status": [
"active"
],
"unicodeName": "%NAME%",
"objectClassName": "nameserver",
"handle": "%HANDLE%",
"ldhName": "%PUNYCODENAME%",
"unicodeName": "%NAME%",
"status": ["active"],
"links": [
{
"href": "https://example.tld/rdap/nameserver/%PUNYCODENAME%",
@ -15,29 +16,21 @@
"value": "https://example.tld/rdap/nameserver/%PUNYCODENAME%"
}
],
"ldhName": "%PUNYCODENAME%",
"ipAddresses": {
"%ADDRESSTYPE%": [
"%ADDRESS%"
]
},
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"objectClassName": "nameserver",
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -60,17 +53,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
["fn", {}, "text", "The Registrar"]
]
],
"remarks": [

View file

@ -2,26 +2,18 @@
"domainSearchResults":
[
{
"handle":"%DOMAINHANDLE1%",
"links":
[
"objectClassName":"domain",
"handle":"%DOMAIN_HANDLE_1%",
"ldhName":"%DOMAIN_PUNYCODE_NAME_1%",
"links": [
{
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAINNAME1%",
"value":"https://example.tld/rdap/domain/%DOMAINNAME1%",
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type":"application/rdap+json"
}
],
"ldhName":"%DOMAINNAME1%",
"status":
[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"remarks":
[
"remarks": [
{
"description":
[
@ -30,30 +22,21 @@
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons"
}
],
"objectClassName":"domain"
]
},
{
"handle":"%DOMAINHANDLE2%",
"links":
[
"objectClassName":"domain",
"handle":"%DOMAIN_HANDLE_2%",
"ldhName":"%DOMAIN_PUNYCODE_NAME_2%",
"links": [
{
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAINNAME2%",
"value":"https://example.tld/rdap/domain/%DOMAINNAME2%",
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type":"application/rdap+json"
}
],
"ldhName":"%DOMAINNAME2%",
"status":
[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"remarks":
[
"remarks": [
{
"description":
[
@ -62,30 +45,21 @@
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons"
}
],
"objectClassName":"domain"
]
},
{
"handle":"%DOMAINHANDLE3%",
"links":
[
"objectClassName":"domain",
"handle":"%DOMAIN_HANDLE_3%",
"ldhName":"%DOMAIN_PUNYCODE_NAME_3%",
"links": [
{
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAINNAME3%",
"value":"https://example.tld/rdap/domain/%DOMAINNAME3%",
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
"type":"application/rdap+json"
}
],
"ldhName":"%DOMAINNAME3%",
"status":
[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"remarks":
[
"remarks": [
{
"description":
[
@ -94,8 +68,7 @@
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons"
}
],
"objectClassName":"domain"
]
}
],
"notices":
@ -156,10 +129,8 @@
"title":"Status Codes"
},
{
"description":
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"title": "RDDS Inaccuracy Complaint Form",
"description": ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links":
[
{
@ -173,6 +144,7 @@
],
"rdapConformance":
[
"rdap_level_0",
"icann_rdap_response_profile_0"
]
}

View file

@ -1,127 +1,115 @@
{
"domainSearchResults":[
{
"ldhName":"%DOMAINNAME1%",
"status":[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"remarks":[
{
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons",
"description":[
"Summary data only. For complete data, send a specific query for the object."
]
}
],
"handle":"%DOMAINHANDLE1%",
"links":[
{
"value":"https://example.tld/rdap/domain/%DOMAINNAME1%",
"type":"application/rdap+json",
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAINNAME1%"
}
],
"objectClassName":"domain"
},
{
"ldhName":"%DOMAINNAME2%",
"status":[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"remarks":[
{
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons",
"description":[
"Summary data only. For complete data, send a specific query for the object."
]
}
],
"handle":"%DOMAINHANDLE2%",
"links":[
{
"value":"https://example.tld/rdap/domain/%DOMAINNAME2%",
"type":"application/rdap+json",
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAINNAME2%"
}
],
"objectClassName":"domain"
}
],
"notices":[
{
"title":"Search Policy",
"type":"result set truncated due to unexplainable reasons",
"description":[
"Search results may contain incomplete information due to first-stage query limits."
"domainSearchResults":[
{
"objectClassName":"domain",
"handle":"%DOMAIN_HANDLE_1%",
"ldhName":"%DOMAIN_PUNYCODE_NAME_1%",
"remarks":[
{
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons",
"description":[
"Summary data only. For complete data, send a specific query for the object."
]
}
],
"links":[
{
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type":"application/rdap+json",
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
]
},
{
"objectClassName":"domain",
"handle":"%DOMAIN_HANDLE_2%",
"ldhName":"%DOMAIN_PUNYCODE_NAME_2%",
"remarks":[
{
"title":"Incomplete Data",
"type":"object truncated due to unexplainable reasons",
"description":[
"Summary data only. For complete data, send a specific query for the object."
]
}
],
"links":[
{
"value":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type":"application/rdap+json",
"rel":"self",
"href":"https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
}
]
}
],
"notices":[
{
"title":"Search Policy",
"type":"result set truncated due to unexplainable reasons",
"description":[
"Search results may contain incomplete information due to first-stage query limits."
]
},
{
"title":"RDAP Terms of Service",
"description":[
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
"Any information provided is 'as is' without any guarantee of accuracy.",
"Please do not misuse the Domain Database. It is intended solely for query-based access.",
"Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.",
"Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.",
"You may only use the information contained in the Domain Database for lawful purposes.",
"Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.",
"We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.",
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
"We reserve the right to modify this agreement at any time."
},
{
"title":"RDAP Terms of Service",
"description":[
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
"Any information provided is 'as is' without any guarantee of accuracy.",
"Please do not misuse the Domain Database. It is intended solely for query-based access.",
"Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.",
"Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.",
"You may only use the information contained in the Domain Database for lawful purposes.",
"Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.",
"We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.",
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
"We reserve the right to modify this agreement at any time."
],
"links":[
{
"value":"https://example.tld/rdap/help/tos",
"type":"text/html",
"rel":"alternate",
"href":"https://www.registry.tld/about/rdap/tos.html"
}
]
},
{
"description":[
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
]
},
{
"title":"Status Codes",
"description":[
"For more information on domain status codes, please visit https://icann.org/epp"
],
"links":[
{
"value":"https://example.tld/rdap/help/tos",
"type":"text/html",
"rel":"alternate",
"href":"https://www.registry.tld/about/rdap/tos.html"
}
{
"value":"https://icann.org/epp",
"type":"text/html",
"rel":"alternate",
"href":"https://icann.org/epp"
}
]
},
{
"description":[
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
]
},
{
"title":"Status Codes",
"description":[
"For more information on domain status codes, please visit https://icann.org/epp"
],
"links":[
{
"value":"https://icann.org/epp",
"type":"text/html",
"rel":"alternate",
"href":"https://icann.org/epp"
}
]
},
{
"description":[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"links":[
{
"value":"https://www.icann.org/wicf",
"type":"text/html",
"rel":"alternate",
"href":"https://www.icann.org/wicf"
}
]
}
],
"rdapConformance":[
"icann_rdap_response_profile_0"
},
{
"title": "RDDS Inaccuracy Complaint Form",
"description":["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links":[
{
"value":"https://www.icann.org/wicf",
"type":"text/html",
"rel":"alternate",
"href":"https://www.icann.org/wicf"
}
]
}
],
"rdapConformance":[
"rdap_level_0",
"icann_rdap_response_profile_0"
]
}

View file

@ -101,7 +101,7 @@
]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices" :
[
{

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "entity",
"handle" : "4-ROID",
"status" : ["active"],
"links" :
[
{
@ -14,6 +13,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -21,6 +26,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -42,15 +54,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "blindly@b.tld"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "2-ROID",
"status" : ["active"],
"links" :
[
{
@ -60,6 +70,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -67,6 +83,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -88,13 +111,12 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "blinky@b.tld"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices" :
[
{

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "nameserver",
"handle" : "4-ROID",
"status" : ["active", "associated"],
"ldhName" : "ns2.cat.lol",
"links" :
[
@ -19,6 +18,12 @@
{
"v6" : ["bad:f00d:cafe::15:beef"]
},
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -27,63 +32,11 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "6-ROID",
"status" : ["active"],
"ldhName" : "ns1.cat2.lol",
"links" :
[
@ -99,6 +52,12 @@
"v4" : ["1.2.3.3"],
"v6" : ["bad:f00d:cafe::15:beef"]
},
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -107,61 +66,10 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
}
],
"rdapConformance" : ["icann_rdap_response_profile_0"],
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
"notices" :
[
{

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "entity",
"handle" : "0001-ROID",
"status" : ["active"],
"links" :
[
{
@ -14,6 +13,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -21,6 +26,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -42,15 +54,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact1@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0002-ROID",
"status" : ["active"],
"links" :
[
{
@ -60,6 +70,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -67,6 +83,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -88,15 +111,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact2@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0003-ROID",
"status" : ["active"],
"links" :
[
{
@ -106,6 +127,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -113,6 +140,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -134,15 +168,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact3@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0004-ROID",
"status" : ["active"],
"links" :
[
{
@ -152,6 +184,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -159,6 +197,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -180,13 +225,12 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact4@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices" :
[
{

View file

@ -1,23 +1,17 @@
{
"domainSearchResults": [
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE1%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_1%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_1%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME1%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME1%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_1%"
}
],
"ldhName": "%DOMAINNAME1%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
@ -29,23 +23,17 @@
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE2%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_2%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_2%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME2%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME2%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_2%"
}
],
"ldhName": "%DOMAINNAME2%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
@ -57,23 +45,17 @@
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE3%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_3%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_3%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME3%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME3%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_3%"
}
],
"ldhName": "%DOMAINNAME3%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
@ -85,23 +67,17 @@
]
},
{
"status": [
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"handle": "%DOMAINHANDLE4%",
"objectClassName": "domain",
"handle": "%DOMAIN_HANDLE_4%",
"ldhName": "%DOMAIN_PUNYCODE_NAME_4%",
"links": [
{
"href": "https://example.tld/rdap/domain/%DOMAINNAME4%",
"href": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%",
"type": "application/rdap+json",
"rel": "self",
"value": "https://example.tld/rdap/domain/%DOMAINNAME4%"
"value": "https://example.tld/rdap/domain/%DOMAIN_PUNYCODE_NAME_4%"
}
],
"ldhName": "%DOMAINNAME4%",
"objectClassName": "domain",
"remarks": [
{
"title": "Incomplete Data",
@ -114,6 +90,7 @@
}
],
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices" :
@ -166,10 +143,8 @@
]
},
{
"description" :
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"title": "RDDS Inaccuracy Complaint Form",
"description" : ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links" :
[
{

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "nameserver",
"handle" : "14-ROID",
"status" : ["active"],
"ldhName" : "nsx1.cat.lol",
"links" :
[
@ -19,6 +18,12 @@
{
"v4" : ["5.5.5.1", "5.5.5.2"]
},
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -27,63 +32,11 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "15-ROID",
"status" : ["active"],
"ldhName" : "nsx2.cat.lol",
"links" :
[
@ -98,6 +51,12 @@
{
"v4" : ["5.5.5.1", "5.5.5.2"]
},
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -106,63 +65,11 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "16-ROID",
"status" : ["active"],
"ldhName" : "nsx3.cat.lol",
"links" :
[
@ -177,6 +84,12 @@
{
"v4" : ["5.5.5.1", "5.5.5.2"]
},
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -185,63 +98,11 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "17-ROID",
"status" : ["active"],
"ldhName" : "nsx4.cat.lol",
"links" :
[
@ -256,6 +117,12 @@
{
"v4" : ["5.5.5.1", "5.5.5.2"]
},
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -264,61 +131,10 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
}
],
"rdapConformance" : ["icann_rdap_response_profile_0"],
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
"notices" :
[
{

View file

@ -2,23 +2,28 @@
"entitySearchResults":
[
{
"objectClassName" : "entity",
"handle" : "301",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "301",
"links":
[
{
"value" : "https://example.tld/rdap/entity/301",
"rel" : "self",
"value": "https://example.tld/rdap/entity/301",
"rel": "self",
"href": "https://example.tld/rdap/entity/301",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"publicIds" :
"publicIds":
[
{
"type" : "IANA Registrar ID",
"identifier" : "301"
"type": "IANA Registrar ID",
"identifier": "301"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -30,7 +35,7 @@
"type": "object truncated due to unexplainable reasons"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -47,31 +52,36 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"roles" : ["registrar"]
"roles": ["registrar"]
},
{
"objectClassName" : "entity",
"handle" : "302",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "302",
"links":
[
{
"value" : "https://example.tld/rdap/entity/302",
"rel" : "self",
"value": "https://example.tld/rdap/entity/302",
"rel": "self",
"href": "https://example.tld/rdap/entity/302",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"publicIds" :
"publicIds":
[
{
"type" : "IANA Registrar ID",
"identifier" : "302"
"type": "IANA Registrar ID",
"identifier": "302"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -83,7 +93,7 @@
"type": "object truncated due to unexplainable reasons"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -100,31 +110,36 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"roles" : ["registrar"]
"roles": ["registrar"]
},
{
"objectClassName" : "entity",
"handle" : "303",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "303",
"links":
[
{
"value" : "https://example.tld/rdap/entity/303",
"rel" : "self",
"value": "https://example.tld/rdap/entity/303",
"rel": "self",
"href": "https://example.tld/rdap/entity/303",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"publicIds" :
"publicIds":
[
{
"type" : "IANA Registrar ID",
"identifier" : "303"
"type": "IANA Registrar ID",
"identifier": "303"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -136,7 +151,7 @@
"type": "object truncated due to unexplainable reasons"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -153,31 +168,36 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"roles" : ["registrar"]
"roles": ["registrar"]
},
{
"objectClassName" : "entity",
"handle" : "304",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "304",
"links":
[
{
"value" : "https://example.tld/rdap/entity/304",
"rel" : "self",
"value": "https://example.tld/rdap/entity/304",
"rel": "self",
"href": "https://example.tld/rdap/entity/304",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"publicIds" :
"publicIds":
[
{
"type" : "IANA Registrar ID",
"identifier" : "304"
"type": "IANA Registrar ID",
"identifier": "304"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -189,7 +209,7 @@
"type": "object truncated due to unexplainable reasons"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -206,20 +226,20 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"roles" : ["registrar"]
"roles": ["registrar"]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"notices" :
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices":
[
{
"title" : "RDAP Terms of Service",
"description" :
"title": "RDAP Terms of Service",
"description":
[
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
"Any information provided is 'as is' without any guarantee of accuracy.",
@ -232,18 +252,18 @@
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
"We reserve the right to modify this agreement at any time."
],
"links" :
"links":
[
{
"value" : "https://example.tld/rdap/help/tos",
"rel" : "alternate",
"href" : "https://www.registry.tld/about/rdap/tos.html",
"type" : "text/html"
"value": "https://example.tld/rdap/help/tos",
"rel": "alternate",
"href": "https://www.registry.tld/about/rdap/tos.html",
"type": "text/html"
}
]
},
{
"description" :
"description":
[
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
]

View file

@ -1,5 +1,6 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
@ -23,11 +24,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "%NAME%",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"

View file

@ -1,5 +1,6 @@
{
"rdapConformance": [
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"objectClassName" : "entity",
@ -7,11 +8,6 @@
"status" : ["%STATUS%"],
"roles" : ["registrar"],
"events": [
{
"eventAction": "registration",
"eventActor": "%NAME%",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"

View file

@ -2,16 +2,21 @@
"entitySearchResults":
[
{
"objectClassName" : "entity",
"handle" : "0001-ROID",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "0001-ROID",
"links":
[
{
"value" : "https://example.tld/rdap/entity/0001-ROID",
"rel" : "self",
"value": "https://example.tld/rdap/entity/0001-ROID",
"rel": "self",
"href": "https://example.tld/rdap/entity/0001-ROID",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -21,9 +26,16 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -41,23 +53,27 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact1@gmail.com"]
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0002-ROID",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "0002-ROID",
"links":
[
{
"value" : "https://example.tld/rdap/entity/0002-ROID",
"rel" : "self",
"value": "https://example.tld/rdap/entity/0002-ROID",
"rel": "self",
"href": "https://example.tld/rdap/entity/0002-ROID",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -67,9 +83,16 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -87,23 +110,27 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact2@gmail.com"]
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0003-ROID",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "0003-ROID",
"links":
[
{
"value" : "https://example.tld/rdap/entity/0003-ROID",
"rel" : "self",
"value": "https://example.tld/rdap/entity/0003-ROID",
"rel": "self",
"href": "https://example.tld/rdap/entity/0003-ROID",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -113,9 +140,16 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -133,23 +167,27 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact3@gmail.com"]
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0004-ROID",
"status" : ["active"],
"links" :
"objectClassName": "entity",
"handle": "0004-ROID",
"links":
[
{
"value" : "https://example.tld/rdap/entity/0004-ROID",
"rel" : "self",
"value": "https://example.tld/rdap/entity/0004-ROID",
"rel": "self",
"href": "https://example.tld/rdap/entity/0004-ROID",
"type" : "application/rdap+json"
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
@ -159,9 +197,16 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
@ -179,39 +224,38 @@
"United States"
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact4@gmail.com"]
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"notices" :
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices":
[
{
"title" : "Search Policy",
"type" : "result set truncated due to unexplainable reasons",
"description" :
"title": "Search Policy",
"type": "result set truncated due to unexplainable reasons",
"description":
[
"Search results per query are limited."
]
},
{
"title" : "Navigation Links",
"links" :
"title": "Navigation Links",
"links":
[
{
"type" : "application/rdap+json",
"href" : "https://example.tld/rdap/entities?%NAME%",
"rel" : "next"
"type": "application/rdap+json",
"href": "https://example.tld/rdap/entities?%NAME%",
"rel": "next"
}
],
"description" : [ "Links to related pages." ]
"description": [ "Links to related pages." ]
},
{
"title" : "RDAP Terms of Service",
"description" :
"title": "RDAP Terms of Service",
"description":
[
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
"Any information provided is 'as is' without any guarantee of accuracy.",
@ -224,18 +268,18 @@
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
"We reserve the right to modify this agreement at any time."
],
"links" :
"links":
[
{
"value" : "https://example.tld/rdap/help/tos",
"rel" : "alternate",
"href" : "https://www.registry.tld/about/rdap/tos.html",
"type" : "text/html"
"value": "https://example.tld/rdap/help/tos",
"rel": "alternate",
"href": "https://www.registry.tld/about/rdap/tos.html",
"type": "text/html"
}
]
},
{
"description" :
"description":
[
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
]

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "nameserver",
"handle" : "14-ROID",
"status" : ["active"],
"ldhName" : "nsx1.cat.lol",
"links" :
[
@ -28,62 +27,16 @@
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
"events": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "15-ROID",
"status" : ["active"],
"ldhName" : "nsx2.cat.lol",
"links" :
[
@ -107,62 +60,16 @@
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
"events" :[
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "16-ROID",
"status" : ["active"],
"ldhName" : "nsx3.cat.lol",
"links" :
[
@ -186,62 +93,16 @@
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
"events": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "17-ROID",
"status" : ["active"],
"ldhName" : "nsx4.cat.lol",
"links" :
[
@ -265,60 +126,15 @@
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
"events": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Registrar"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard",
"Williamsburg",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2223334444"],
["email", {}, "text", "the.registrar@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
]
}
],
"rdapConformance" : ["icann_rdap_response_profile_0"],
"rdapConformance" : ["rdap_level_0", "icann_rdap_response_profile_0"],
"notices" :
[
{

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "entity",
"handle" : "0001-ROID",
"status" : ["active"],
"links" :
[
{
@ -14,6 +13,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -21,6 +26,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -42,15 +54,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact1@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0002-ROID",
"status" : ["active"],
"links" :
[
{
@ -60,6 +70,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -67,6 +83,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -88,15 +111,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact2@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "0003-ROID",
"status" : ["active"],
"links" :
[
{
@ -106,6 +127,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -113,6 +140,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray" :
@ -134,15 +168,13 @@
]
],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "contact3@gmail.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "301",
"status" : ["active"],
"links" :
[
{
@ -159,6 +191,12 @@
"identifier" : "301"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -193,7 +231,7 @@
"roles" : ["registrar"]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices" :
[
{

View file

@ -4,7 +4,6 @@
{
"objectClassName" : "entity",
"handle" : "301",
"status" : ["active"],
"links" :
[
{
@ -21,6 +20,12 @@
"identifier" : "301"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -57,7 +62,6 @@
{
"objectClassName" : "entity",
"handle" : "302",
"status" : ["active"],
"links" :
[
{
@ -74,6 +78,12 @@
"identifier" : "302"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -110,7 +120,6 @@
{
"objectClassName" : "entity",
"handle" : "303",
"status" : ["active"],
"links" :
[
{
@ -127,6 +136,12 @@
"identifier" : "303"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -163,7 +178,6 @@
{
"objectClassName" : "entity",
"handle" : "304",
"status" : ["active"],
"links" :
[
{
@ -180,6 +194,12 @@
"identifier" : "304"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -214,7 +234,7 @@
"roles" : ["registrar"]
}
],
"rdapConformance": [ "icann_rdap_response_profile_0" ],
"rdapConformance": ["rdap_level_0", "icann_rdap_response_profile_0" ],
"notices" :
[
{

View file

@ -1 +1 @@
{"key":"value","rdapConformance":["icann_rdap_response_profile_0"],"notices":[{"title":"RDAP Terms of Service","links":[{"href":"https:\/\/www.registry.tld\/about\/rdap\/tos.html","rel":"alternate","type":"text\/html","value":"http:\/\/myserver.example.com\/help\/tos"}],"description":["By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.","Any information provided is 'as is' without any guarantee of accuracy.","Please do not misuse the Domain Database. It is intended solely for query-based access.","Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.","Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.","You may only use the information contained in the Domain Database for lawful purposes.","Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.","We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.","We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.","We reserve the right to modify this agreement at any time."]}]}
{"key":"value","rdapConformance":["rdap_level_0","icann_rdap_response_profile_0"],"notices":[{"title":"RDAP Terms of Service","links":[{"href":"https:\/\/www.registry.tld\/about\/rdap\/tos.html","rel":"alternate","type":"text\/html","value":"http:\/\/myserver.example.com\/help\/tos"}],"description":["By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.","Any information provided is 'as is' without any guarantee of accuracy.","Please do not misuse the Domain Database. It is intended solely for query-based access.","Don't use the Domain Database to allow, enable, or otherwise support the transmission of mass unsolicited, commercial advertising or solicitations.","Don't access our Domain Database through the use of high volume, automated electronic processes that send queries or data to the systems of any ICANN-accredited registrar.","You may only use the information contained in the Domain Database for lawful purposes.","Do not compile, repackage, disseminate, or otherwise use the information contained in the Domain Database in its entirety, or in any substantial portion, without our prior written permission.","We may retain certain details about queries to our Domain Database for the purposes of detecting and preventing misuse.","We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.","We reserve the right to modify this agreement at any time."]}]}

View file

@ -13,11 +13,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -45,5 +40,14 @@
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -25,22 +25,22 @@
"eventActor": "foo",
"eventDate": "1999-09-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
"eventDate": "2110-10-08T00:44:59.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "transfer",
"eventActor": "foo",
"eventDate": "1999-12-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
"eventDate": "2110-10-08T00:44:59.000Z"
},
{
"eventAction": "last changed",
"eventDate": "1999-12-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"nameservers" :
@ -50,9 +50,7 @@
"handle" : "A-ROID",
"ldhName" : "ns1.cat.xn--q9jyb4c",
"unicodeName" : "ns1.cat.みんな",
"status" : ["active", "associated"],
"links" :
[
"links" : [
{
"value" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"rel" : "self",
@ -60,71 +58,11 @@
"type" : "application/rdap+json"
}
],
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v4" : ["1.2.3.4"]
},
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
@ -133,9 +71,7 @@
"handle" : "C-ROID",
"ldhName" : "ns2.cat.xn--q9jyb4c",
"unicodeName" : "ns2.cat.みんな",
"status" : ["active", "associated"],
"links" :
[
"links" : [
{
"value" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"rel" : "self",
@ -143,81 +79,63 @@
"type" : "application/rdap+json"
}
],
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v6" : ["bad:f00d:cafe::15:beef"]
},
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"secureDNS": {
"delegationSigned": true,
"zoneSigned": true,
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}]
},
"entities" :
[
{
"objectClassName" : "entity",
"handle" : "1",
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"objectClassName" : "entity",
"handle" : "4-ROID",
"status" : ["active", "associated"],
"roles" : ["administrative"],
"links" :
[
@ -228,17 +146,6 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
[
"vcard",
@ -261,12 +168,25 @@
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName" : "entity",
"handle" : "6-ROID",
"status" : ["active", "associated"],
"roles" : ["technical"],
"links" :
[
@ -277,17 +197,6 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
[
"vcard",
@ -307,15 +216,27 @@
"31337",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "bog@cat.みんな"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
},
{
"objectClassName" : "entity",
"handle" : "2-ROID",
"status" : ["active", "associated"],
"roles" : ["registrant"],
"links" :
[
@ -326,17 +247,6 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
[
"vcard",
@ -345,58 +255,21 @@
["fn", {}, "text", "(◕‿◕)"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "lol@cat.みんな"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,22 +1,22 @@
{
"objectClassName" : "domain",
"handle" : "17-Q9JYB4C",
"ldhName" : "cat.xn--q9jyb4c",
"unicodeName" : "cat.みんな",
"status" :
"objectClassName": "domain",
"handle": "17-Q9JYB4C",
"ldhName": "cat.xn--q9jyb4c",
"unicodeName": "cat.みんな",
"status":
[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"links" :
"links":
[
{
"value" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"events": [
@ -25,232 +25,98 @@
"eventActor": "foo",
"eventDate": "1999-09-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
"eventDate": "2110-10-08T00:44:59.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "transfer",
"eventActor": "foo",
"eventDate": "1999-12-01T00:00:00.000Z"
},
{
"eventAction": "expiration",
"eventDate": "2110-10-08T00:44:59.000Z"
},
{
"eventAction": "last changed",
"eventDate": "1999-12-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"nameservers" :
[
"nameservers": [
{
"objectClassName" : "nameserver",
"handle" : "A-ROID",
"ldhName" : "ns1.cat.xn--q9jyb4c",
"unicodeName" : "ns1.cat.みんな",
"status" : ["active", "associated"],
"links" :
[
"objectClassName": "nameserver",
"handle": "A-ROID",
"ldhName": "ns1.cat.xn--q9jyb4c",
"unicodeName": "ns1.cat.みんな",
"links": [
{
"value" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v4" : ["1.2.3.4"]
},
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
},
{
"objectClassName" : "nameserver",
"handle" : "C-ROID",
"ldhName" : "ns2.cat.xn--q9jyb4c",
"unicodeName" : "ns2.cat.みんな",
"status" : ["active", "associated"],
"links" :
[
"objectClassName": "nameserver",
"handle": "C-ROID",
"ldhName": "ns2.cat.xn--q9jyb4c",
"unicodeName": "ns2.cat.みんな",
"links": [
{
"value" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"events": [
"remarks": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v6" : ["bad:f00d:cafe::15:beef"]
},
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
}
]
}
],
"secureDNS": {
"delegationSigned": true,
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}],
"zoneSigned": true
},
"entities": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
"objectClassName": "entity",
"handle": "1",
"roles": ["registrar"],
"links": [
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/entity/1",
"rel": "self",
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json"
}
],
"publicIds" :
[
"publicIds": [
{
"type" : "IANA Registrar ID",
"identifier" : "1"
"type": "IANA Registrar ID",
"identifier": "1"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [
@ -262,15 +128,168 @@
"type": "object truncated due to unexplainable reasons"
}
]
}
],
"remarks": [
},
{
"title": "Contacts Hidden",
"description": [
"Domain contacts are visible only to the owning registrar."
"objectClassName": "entity",
"handle": "REDACTED FOR PRIVACY",
"roles": ["administrative"],
"remarks": [
{
"title": "REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links": [
{
"type": "text/html",
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel": "alternate",
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"type": "object truncated due to unexplainable reasons"
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","REDACTED FOR PRIVACY"],
["org",{},"text","REDACTED FOR PRIVACY"],
[
"adr",
{},
"text",
[
"",
"",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"XX"
]
],
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
]
]
},
{
"objectClassName": "entity",
"handle": "REDACTED FOR PRIVACY",
"roles": ["technical"],
"remarks": [
{
"title": "REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links": [
{
"type": "text/html",
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel": "alternate",
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","REDACTED FOR PRIVACY"],
["org",{},"text","REDACTED FOR PRIVACY"],
[
"adr",
{},
"text",
[
"",
"",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"XX"
]
],
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
]
]
},
{
"objectClassName": "entity",
"handle": "REDACTED FOR PRIVACY",
"roles": ["registrant"],
"remarks": [
{
"title": "REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"links": [
{
"type": "text/html",
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel": "alternate",
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","REDACTED FOR PRIVACY"],
["org",{},"text","REDACTED FOR PRIVACY"],
[
"adr",
{},
"text",
[
"",
"",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"XX"
]
],
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
]
]
}
]
}

View file

@ -1,9 +1,9 @@
{
"objectClassName" : "domain",
"handle" : "18-Q9JYB4C",
"ldhName" : "fish.xn--q9jyb4c",
"unicodeName" : "fish.みんな",
"status" :
"objectClassName": "domain",
"handle": "18-Q9JYB4C",
"ldhName": "fish.xn--q9jyb4c",
"unicodeName": "fish.みんな",
"status":
[
"client delete prohibited",
"client renew prohibited",
@ -11,13 +11,13 @@
"inactive",
"server update prohibited"
],
"links" :
"links":
[
{
"value" : "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/domain/fish.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"events": [
@ -35,182 +35,38 @@
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"entities" :
[
"secureDNS": {
"delegationSigned": true,
"dsData": [{"algorithm":2,"digest":"DEADFACE","digestType":3,"keyTag":1}],
"zoneSigned": true
},
"entities": [
{
"objectClassName" : "entity",
"handle" : "4-ROID",
"status" : ["active", "associated"],
"roles" : ["administrative"],
"links" :
"objectClassName": "entity",
"handle": "1",
"roles": ["registrar"],
"links":
[
{
"value" : "https://example.tld/rdap/entity/4-ROID",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/4-ROID",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/entity/1",
"rel": "self",
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json"
}
],
"events": [
"publicIds":
[
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
"type": "IANA Registrar ID",
"identifier": "1"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Santa Claus"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", [
"",
"",
[
"Santa Claus Tower",
"41st floor",
"Suite みんな"
],
"KOKOMO",
"BM",
"31337",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "6-ROID",
"status" : ["active", "associated"],
"roles" : ["technical"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/6-ROID",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/6-ROID",
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "The Raven"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["adr", {}, "text", [
"",
"",
[
"Chamber Door",
"upper level"
],
"KOKOMO",
"BM",
"31337",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "bog@cat.みんな"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "2-ROID",
"status" : ["active", "associated"],
"roles" : ["registrant"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/2-ROID",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/2-ROID",
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "(◕‿◕)"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "lol@cat.みんな"]
]
]
},
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [
@ -222,6 +78,43 @@
"type": "object truncated due to unexplainable reasons"
}
]
},
{
"objectClassName": "entity",
"handle": "2-ROID",
"roles": ["administrative", "technical", "registrant"],
"links": [
{
"value": "https://example.tld/rdap/entity/2-ROID",
"rel": "self",
"href": "https://example.tld/rdap/entity/2-ROID",
"type": "application/rdap+json"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "(◕‿◕)"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["tel", {"type": ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type": ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"type": "object truncated due to unexplainable reasons",
"description": ["Summary data only. For complete data, send a specific query for the object."]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}
]
}

View file

@ -1,22 +1,14 @@
{
"objectClassName" : "domain",
"handle" : "17-Q9JYB4C",
"ldhName" : "cat.xn--q9jyb4c",
"unicodeName" : "cat.みんな",
"status" :
[
"client delete prohibited",
"client renew prohibited",
"client transfer prohibited",
"server update prohibited"
],
"links" :
[
"objectClassName": "domain",
"handle": "17-Q9JYB4C",
"ldhName": "cat.xn--q9jyb4c",
"unicodeName": "cat.みんな",
"links": [
{
"value" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/domain/cat.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"remarks": [

View file

@ -14,11 +14,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -33,7 +28,6 @@
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -56,18 +50,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [

View file

@ -3,7 +3,6 @@
"handle" : "E-ROID",
"ldhName" : "ns3.cat.xn--q9jyb4c",
"unicodeName" : "ns3.cat.みんな",
"status" : ["active", "associated"],
"links" :
[
{
@ -13,6 +12,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v4" : ["1.2.3.4"],
@ -26,57 +31,5 @@
],
"type": "object truncated due to unexplainable reasons"
}
],
"entities" : [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
}
],
"publicIds" :
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
}
],
"vcardArray" :
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
]
],
"remarks": [
{
"title": "Incomplete Data",
"description": [
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
}
]
}
]
}

View file

@ -1,72 +1,52 @@
{
"objectClassName" : "nameserver",
"handle" : "A-ROID",
"ldhName" : "ns1.cat.xn--q9jyb4c",
"unicodeName" : "ns1.cat.みんな",
"status" : ["active", "associated"],
"links" :
"objectClassName": "nameserver",
"handle": "A-ROID",
"ldhName": "ns1.cat.xn--q9jyb4c",
"unicodeName": "ns1.cat.みんな",
"status": ["active", "associated"],
"links":
[
{
"value" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/nameserver/ns1.cat.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v4" : ["1.2.3.4"]
},
"entities" : [
"ipAddresses": {"v4": ["1.2.3.4"]},
"entities": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
"objectClassName": "entity",
"handle": "1",
"roles": ["registrar"],
"links":
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/entity/1",
"rel": "self",
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json"
}
],
"publicIds" :
"publicIds":
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
"type": "IANA Registrar ID",
"identifier": "1"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [

View file

@ -1,72 +1,52 @@
{
"objectClassName" : "nameserver",
"handle" : "C-ROID",
"ldhName" : "ns2.cat.xn--q9jyb4c",
"unicodeName" : "ns2.cat.みんな",
"status" : ["active", "associated"],
"links" :
"objectClassName": "nameserver",
"handle": "C-ROID",
"ldhName": "ns2.cat.xn--q9jyb4c",
"unicodeName": "ns2.cat.みんな",
"status": ["active", "associated"],
"links":
[
{
"value" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"rel" : "self",
"href" : "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"rel": "self",
"href": "https://example.tld/rdap/nameserver/ns2.cat.xn--q9jyb4c",
"type": "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1998-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"ipAddresses" :
{
"v6" : ["bad:f00d:cafe::15:beef"]
},
"entities" : [
"ipAddresses": {"v6": ["bad:f00d:cafe::15:beef"]},
"entities": [
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
"objectClassName": "entity",
"handle": "1",
"roles": ["registrar"],
"links":
[
{
"value" : "https://example.tld/rdap/entity/1",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/1",
"type" : "application/rdap+json"
"value": "https://example.tld/rdap/entity/1",
"rel": "self",
"href": "https://example.tld/rdap/entity/1",
"type": "application/rdap+json"
}
],
"publicIds" :
"publicIds":
[
{
"type" : "IANA Registrar ID",
"identifier" : "1"
"type": "IANA Registrar ID",
"identifier": "1"
}
],
"vcardArray" :
"vcardArray":
[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [

View file

@ -14,11 +14,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1996-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -28,7 +23,6 @@
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -51,18 +45,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [

View file

@ -14,11 +14,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1995-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -28,7 +23,6 @@
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -51,18 +45,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [

View file

@ -14,11 +14,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1994-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -28,7 +23,6 @@
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -51,18 +45,7 @@
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "みんな"],
["adr", {}, "text", [
"",
"",
"123 Example Boulevard <script>",
"Williamsburg <script>",
"NY",
"11211",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2125551212"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2125551213"],
["email", {}, "text", "contact-us@example.com"]
["fn", {}, "text", "みんな"]
]
],
"remarks": [

View file

@ -13,26 +13,29 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray" :
[
"vcardArray" : [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "(◕‿◕)"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "lol@cat.みんな"]
["org",{},"text","GOOGLE INCORPORATED <script>"],
["tel",{"type":["voice"]},"uri","tel:+1.2126660420"],
["tel",{"type":["fax"]},"uri","tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,45 +1,60 @@
{
"objectClassName" : "entity",
"handle" : "2-ROID",
"status" : ["active", "associated", "removed"],
"handle" : "REDACTED FOR PRIVACY",
"roles" : ["registrant"],
"links" :
[
{
"value" : "https://example.tld/rdap/entity/2-ROID",
"rel" : "self",
"href" : "https://example.tld/rdap/entity/2-ROID",
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"vcardArray": [
"vcard",
[
["version",{},"text","4.0"],
["fn",{},"text","REDACTED FOR PRIVACY"],
["org",{},"text","REDACTED FOR PRIVACY"],
[
"adr",
{},
"text",
[
"",
"",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"REDACTED FOR PRIVACY",
"XX"
]
],
["tel",{"type":["voice"]},"uri","tel:REDACTED FOR PRIVACY"],
["tel",{"type":["fax"]},"uri","tel:REDACTED FOR PRIVACY"]
]
],
"remarks": [
{
"title": "Redacted for Privacy",
"title": "REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Some of the data in this object has been removed.",
"Contact personal data is visible only to the owning registrar."
],
"type": "object redacted due to authorization",
"links" :
[
"links": [
{
"value" : "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel" : "alternate",
"href" : "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"type" : "text/html"
"type": "text/html",
"href": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication",
"rel": "alternate",
"value": "https://github.com/google/nomulus/blob/master/docs/rdap.md#authentication"
}
]
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -1,7 +1,6 @@
{
"objectClassName" : "entity",
"handle" : "2-ROID",
"status" : ["active", "associated"],
"roles" : ["registrant"],
"links" :
[
@ -20,10 +19,15 @@
["fn", {}, "text", "(◕‿◕)"],
["org", {}, "text", "GOOGLE INCORPORATED <script>"],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "lol@cat.みんな"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"remarks": [
{
"title": "Incomplete Data",
@ -31,6 +35,13 @@
"Summary data only. For complete data, send a specific query for the object."
],
"type": "object truncated due to unexplainable reasons"
},
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -13,15 +13,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "1",
"eventDate": "1999-01-01T00:00:00.000Z"
},
{
"eventAction": "last changed",
"eventDate": "2000-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"

View file

@ -1,7 +1,6 @@
{
"objectClassName" : "entity",
"handle" : "1",
"status" : ["active"],
"roles" : ["registrar"],
"links" :
[
@ -12,6 +11,12 @@
"type" : "application/rdap+json"
}
],
"events": [
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
}
],
"publicIds" :
[
{

View file

@ -12,11 +12,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -41,8 +36,16 @@
"31337",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "bog@cat.みんな"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -13,11 +13,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1997-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -42,8 +37,16 @@
"31337",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "bog@cat.みんな"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}

View file

@ -2,6 +2,7 @@
"key" : "value",
"rdapConformance" :
[
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices" :

View file

@ -1,14 +1,15 @@
{
"key" : "value",
"rdapConformance" :
"key": "value",
"rdapConformance":
[
"rdap_level_0",
"icann_rdap_response_profile_0"
],
"notices" :
"notices":
[
{
"title" : "RDAP Terms of Service",
"description" :
"title": "RDAP Terms of Service",
"description":
[
"By querying our Domain Database, you are agreeing to comply with these terms so please read them carefully.",
"Any information provided is 'as is' without any guarantee of accuracy.",
@ -21,50 +22,48 @@
"We reserve the right to restrict or deny your access to the database if we suspect that you have failed to comply with these terms.",
"We reserve the right to modify this agreement at any time."
],
"links" :
"links":
[
{
"value" : "https://example.tld/rdap/help/tos",
"rel" : "alternate",
"href" : "https://www.registry.tld/about/rdap/tos.html",
"type" : "text/html"
"value": "https://example.tld/rdap/help/tos",
"rel": "alternate",
"href": "https://www.registry.tld/about/rdap/tos.html",
"type": "text/html"
}
]
},
{
"description" :
"description":
[
"This response conforms to the RDAP Operational Profile for gTLD Registries and Registrars version 1.0"
]
},
{
"title" : "Status Codes",
"description" :
"title": "Status Codes",
"description":
[
"For more information on domain status codes, please visit https://icann.org/epp"
],
"links" :
"links":
[
{
"value" : "https://icann.org/epp",
"rel" : "alternate",
"href" : "https://icann.org/epp",
"type" : "text/html"
"value": "https://icann.org/epp",
"rel": "alternate",
"href": "https://icann.org/epp",
"type": "text/html"
}
]
},
{
"description" :
[
"URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf"
],
"links" :
"title": "RDDS Inaccuracy Complaint Form",
"description": ["URL of the ICANN RDDS Inaccuracy Complaint Form: https://www.icann.org/wicf"],
"links":
[
{
"value" : "https://www.icann.org/wicf",
"rel" : "alternate",
"href" : "https://www.icann.org/wicf",
"type" : "text/html"
"value": "https://www.icann.org/wicf",
"rel": "alternate",
"href": "https://www.icann.org/wicf",
"type": "text/html"
}
]
}

View file

@ -12,11 +12,6 @@
}
],
"events": [
{
"eventAction": "registration",
"eventActor": "foo",
"eventDate": "1996-01-01T00:00:00.000Z"
},
{
"eventAction": "last update of RDAP database",
"eventDate": "2000-01-01T00:00:00.000Z"
@ -41,8 +36,16 @@
"31337",
"United States"]],
["tel", {"type" : ["voice"]}, "uri", "tel:+1.2126660420"],
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"],
["email", {}, "text", "dog@cat.みんな"]
["tel", {"type" : ["fax"]}, "uri", "tel:+1.2126660420"]
]
],
"remarks": [
{
"title": "EMAIL REDACTED FOR PRIVACY",
"type": "object redacted due to authorization",
"description": [
"Please query the RDDS service of the Registrar of Record identifies in this output for information on how to contact the Registrant of the queried domain name."
]
}
]
}