5.4. The IP Network Object Class
The IP network object class models IP network registrations found in RIRs and is the expected response for the "/ip" query as defined by [RFC7482]. There is no equivalent object class for DNRs. The high- level structure of the IP network object class consists of information about the network registration and entities related to the IP network (e.g., registrant information, contacts, etc.). The following is an elided example of the IP network object type showing the high-level structure: { "objectClassName" : "ip network", "handle" : "XXX", ... "entities" : [ ... ] } Figure 25 The following is an example of the JSON object for the network registration information. { "objectClassName" : "ip network", "handle" : "XXXX-RIR", "startAddress" : "2001:db8::", "endAddress" : "2001:db8:0:ffff:ffff:ffff:ffff:ffff", "ipVersion" : "v6", "name": "NET-RTR-1", "type" : "DIRECT ALLOCATION", "country" : "AU", "parentHandle" : "YYYY-RIR", "status" : [ "active" ], "remarks" : [ { "description" : [ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ],
"links" :
[
{
"value" : "http://example.net/ip/2001:db8::/48",
"rel" : "self",
"href" : "http://example.net/ip/2001:db8::/48",
"type" : "application/rdap+json"
},
{
"value" : "http://example.net/ip/2001:db8::/48",
"rel" : "up",
"href" : "http://example.net/ip/2001:C00::/23",
"type" : "application/rdap+json"
}
],
"events" :
[
{
"eventAction" : "registration",
"eventDate" : "1990-12-31T23:59:59Z"
},
{
"eventAction" : "last changed",
"eventDate" : "1991-12-31T23:59:59Z"
}
],
"entities" :
[
{
"objectClassName" : "entity",
"handle" : "XXXX",
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Joe User"],
["kind", {}, "text", "individual"],
["lang", {
"pref":"1"
}, "language-tag", "fr"],
["lang", {
"pref":"2"
}, "language-tag", "en"],
["org", {
"type":"work"
}, "text", "Example"],
["title", {}, "text", "Research Scientist"],
["role", {}, "text", "Project Lead"],
["adr",
{ "type":"work" },
"text",
[
"",
"Suite 1234",
"4321 Rue Somewhere",
"Quebec",
"QC",
"G1V 2M2",
"Canada"
]
],
["tel",
{ "type":["work", "voice"], "pref":"1" },
"uri", "tel:+1-555-555-1234;ext=102"
],
["email",
{ "type":"work" },
"text", "joe.user@example.com"
]
]
],
"roles" : [ "registrant" ],
"remarks" :
[
{
"description" :
[
"She sells sea shells down by the sea shore.",
"Originally written by Terry Sullivan."
]
}
],
"links" :
[
{
"value" : "http://example.net/entity/xxxx",
"rel" : "self",
"href" : "http://example.net/entity/xxxx",
"type" : "application/rdap+json"
}
],
"events" :
[
{
"eventAction" : "registration",
"eventDate" : "1990-12-31T23:59:59Z"
}, { "eventAction" : "last changed", "eventDate" : "1991-12-31T23:59:59Z" } ] } ] } Figure 26 The IP network object class can contain the following members: o objectClassName -- the string "ip network" o handle -- a string representing an RIR-unique identifier of the network registration o startAddress -- the starting IP address of the network, either IPv4 or IPv6 o endAddress -- the ending IP address of the network, either IPv4 or IPv6 o ipVersion -- a string signifying the IP protocol version of the network: "v4" signifies an IPv4 network, and "v6" signifies an IPv6 network o name -- an identifier assigned to the network registration by the registration holder o type -- a string containing an RIR-specific classification of the network o country -- a string containing the two-character country code of the network o parentHandle -- a string containing an RIR-unique identifier of the parent network of this network registration o status -- an array of strings indicating the state of the IP network o entities -- an array of entity objects as defined by Section 5.1 o remarks -- see Section 4.3
o links -- see Section 4.2 o port43 -- see Section 4.7 o events -- see Section 4.55.5. Autonomous System Number Entity Object Class
The Autonomous System number (autnum) object class models Autonomous System number registrations found in RIRs and represents the expected response to an "/autnum" query as defined by [RFC7482]. There is no equivalent object class for DNRs. The high-level structure of the autnum object class consists of information about the network registration and entities related to the autnum registration (e.g., registrant information, contacts, etc.) and is similar to the IP network entity object class. The following is an example of a JSON object representing an autnum. { "objectClassName" : "autnum", "handle" : "XXXX-RIR", "startAutnum" : 10, "endAutnum" : 15, "name": "AS-RTR-1", "type" : "DIRECT ALLOCATION", "status" : [ "active" ], "country": "AU", "remarks" : [ { "description" : [ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links" : [ { "value" : "http://example.net/autnum/xxxx", "rel" : "self", "href" : "http://example.net/autnum/xxxx", "type" : "application/rdap+json" } ], "events" :
[
{
"eventAction" : "registration",
"eventDate" : "1990-12-31T23:59:59Z"
},
{
"eventAction" : "last changed",
"eventDate" : "1991-12-31T23:59:59Z"
}
],
"entities" :
[
{
"objectClassName" : "entity",
"handle" : "XXXX",
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Joe User"],
["kind", {}, "text", "individual"],
["lang", {
"pref":"1"
}, "language-tag", "fr"],
["lang", {
"pref":"2"
}, "language-tag", "en"],
["org", {
"type":"work"
}, "text", "Example"],
["title", {}, "text", "Research Scientist"],
["role", {}, "text", "Project Lead"],
["adr",
{ "type":"work" },
"text",
[
"",
"Suite 1234",
"4321 Rue Somewhere",
"Quebec",
"QC",
"G1V 2M2",
"Canada"
]
],
["tel",
{ "type":["work", "voice"], "pref":"1" },
"uri", "tel:+1-555-555-1234;ext=102"
], ["email", { "type":"work" }, "text", "joe.user@example.com" ] ] ], "roles" : [ "registrant" ], "remarks" : [ { "description" : [ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links" : [ { "value" : "http://example.net/entity/XXXX", "rel" : "self", "href" : "http://example.net/entity/XXXX", "type" : "application/rdap+json" } ], "events" : [ { "eventAction" : "registration", "eventDate" : "1990-12-31T23:59:59Z" }, { "eventAction" : "last changed", "eventDate" : "1991-12-31T23:59:59Z" } ] } ] } Figure 27
The Autonomous System number object class can contain the following
members:
o objectClassName -- the string "autnum"
o handle -- a string representing an RIR-unique identifier of the
autnum registration
o startAutnum -- a number representing the starting number [RFC5396]
in the block of Autonomous System numbers
o endAutnum -- a number representing the ending number [RFC5396] in
the block of Autonomous System numbers
o name -- an identifier assigned to the autnum registration by the
registration holder
o type -- a string containing an RIR-specific classification of the
autnum
o status -- an array of strings indicating the state of the autnum
o country -- a string containing the name of the two-character
country code of the autnum
o entities -- an array of entity objects as defined by Section 5.1
o remarks -- see Section 4.3
o links -- see Section 4.2
o port43 -- see Section 4.7
o events -- see Section 4.5
6. Error Response Body
Some non-answer responses may return entity bodies with information
that could be more descriptive.
The basic structure of that response is an object class containing an
error code number (corresponding to the HTTP response code) followed
by a string named "title" and an array of strings named
"description".
This is an example of the common response body. { "errorCode": 418, "title": "Your Beverage Choice is Not Available", "description": [ "I know coffee has more ummppphhh.", "Sorry, dude!" ] } Figure 28
This is an example of the common response body with an rdapConformance and notices data structures: { "rdapConformance" : [ "rdap_level_0" ], "notices" : [ { "title" : "Beverage Policy", "description" : [ "Beverages with caffeine for keeping horses awake." ], "links" : [ { "value" : "http://example.net/ip/192.0.2.0/24", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/redaction_policy.html" } ] } ], "lang" : "en", "errorCode": 418, "title": "Your beverage choice is not available", "description": [ "I know coffee has more ummppphhh.", "Sorry, dude!" ] } Figure 29
7. Responding to Help Queries
The appropriate response to /help queries as defined by [RFC7482] is to use the notices structure as defined in Section 4.3. This is an example of a response to a /help query including the rdapConformance data structure. { "rdapConformance" : [ "rdap_level_0" ], "notices" : [ { "title" : "Authentication Policy", "description" : [ "Access to sensitive data for users with proper credentials." ], "links" : [ { "value" : "http://example.net/help", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/auth_policy.html" } ] } ] } Figure 308. Responding To Searches
[RFC7482] specifies three types of searches: domains, nameservers, and entities. Responses to these searches take the form of an array of object instances where each instance is an appropriate object class for the search (i.e., a search for /domains yields an array of domain object instances). These arrays are contained within the response object.
The names of the arrays are as follows: o for /domains searches, the array is "domainSearchResults" o for /nameservers searches, the array is "nameserverSearchResults" o for /entities searches, the array is "entitySearchResults" The following is an elided example of a response to a /domains search. { "rdapConformance" : [ "rdap_level_0" ], ... "domainSearchResults" : [ { "objectClassName" : "domain", "handle" : "1-XXXX", "ldhName" : "1.example.com", ... }, { "objectClassName" : "domain", "handle" : "2-XXXX", "ldhName" : "2.example.com", ... } ] } Figure 319. Indicating Truncated Responses
In cases where the data of a response needs to be limited or parts of the data need to be omitted, the response is considered "truncated". A truncated response is still valid JSON, but some of the results in a search set or some of the data in an object are not provided by the server. A server may indicate this by including a typed notice in the response object. The following is an elided example of a search response that has been truncated.
{ "rdapConformance" : [ "rdap_level_0" ], "notices" : [ { "title" : "Search Policy", "type" : "result set truncated due to authorization", "description" : [ "Search results are limited to 25 per day per querying IP." ], "links" : [ { "value" : "http://example.net/help", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/search_policy.html" } ] } ], "domainSearchResults" : [ ... ] } Figure 32 A similar technique can be used with a typed remark where a single object has been returned and data in that object has been truncated. Such an example might be an entity object with only a partial set of the IP networks associated with it.
The following is an elided example of an entity truncated data. { "objectClassName" : "entity", "handle" : "ANENTITY", "roles" : [ "registrant" ], ... "entities" : [ { "objectClassName" : "entity", "handle": "ANEMBEDDEDENTITY", "roles" : [ "technical" ], ... }, ... ], "networks" : [ ... ], ... "remarks" : [ { "title" : "Data Policy", "type" : "object truncated due to unexplainable reason", "description" : [ "Some of the data in this object has been removed." ], "links" : [ { "value" : "http://example.net/help", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/data_policy.html" } ] } ] } Figure 33
10. IANA Considerations
10.1. RDAP JSON Media Type Registration
This specification registers the "application/rdap+json" media type. Type name: application Subtype name: rdap+json Required parameters: n/a Encoding considerations: See Section 3.1 of [RFC6839]. Security considerations: The media represented by this identifier does not have security considerations beyond that found in Section 6 of [RFC7159]. Interoperability considerations: There are no known interoperability problems regarding this media format. Published specification: RFC 7483 Applications that use this media type: Implementations of the Registration Data Access Protocol (RDAP). Additional information: This media type is a product of the IETF WEIRDS working group. The WEIRDS charter, information on the WEIRDS mailing list, and other documents produced by the WEIRDS working group can be found at <https://datatracker.ietf.org/wg/weirds/>. Person & email address to contact for further information: IESG <iesg@ietf.org> Intended usage: COMMON Restrictions on usage: none Author: Andy Newton Change controller: IETF Provisional Registration: No (upon publication of this RFC)
10.2. JSON Values Registry
IANA has created a category in the protocol registries labeled "Registration Data Access Protocol (RDAP)", and within that category, IANA has established a URL-referenceable, stand-alone registry labeled "RDAP JSON Values". This new registry is for use in the notices and remarks (Section 4.3), status (Section 4.6), role (Section 5.1), event action (Section 4.5), and domain variant relation (Section 5.3) fields specified in RDAP. Each entry in the registry contains the following fields: 1. Value -- the string value being registered. 2. Type -- the type of value being registered. It should be one of the following: * "notice or remark type" -- denotes a type of notice or remark. * "status" -- denotes a value for the "status" object member as defined by Section 4.6. * "role" -- denotes a value for the "role" array as defined in Section 5.1. * "event action" -- denotes a value for an event action as defined in Section 4.5. * "domain variant relation" -- denotes a relationship between a domain and a domain variant as defined in Section 5.3. 3. Description -- a one- or two-sentence description regarding the meaning of the value, how it might be used, and/or how it should be interpreted by clients. 4. Registrant Name -- the name of the person registering the value. 5. Registrant Contact Information -- an email address, postal address, or some other information to be used to contact the registrant. This registry is operated under the "Expert Review" policy defined in [RFC5226].
Review of registrations into this registry by the designated
expert(s) should be narrowly judged on the following criteria:
1. Values in need of being placed into multiple types must be
assigned a separate registration for each type.
2. Values must be strings. They should be multiple words separated
by single space characters. Every character should be
lowercased. If possible, every word should be given in English
and each character should be US-ASCII.
3. Registrations should not duplicate the meaning of any existing
registration. That is, if a request for a registration is
significantly similar in nature to an existing registration, the
request should be denied. For example, the terms "maintainer"
and "registrant" are significantly similar in nature as they both
denote a holder of a domain name or Internet number resource. In
cases where it may be reasonably argued that machine
interpretation of two similar values may alter the operation of
client software, designated experts should not judge the values
to be of significant similarity.
4. Registrations should be relevant to the common usages of RDAP.
Designated experts may rely upon the serving of the value by a
DNR or RIR to make this determination.
The following sections provide initial registrations into this
registry.
10.2.1. Notice and Remark Types
The following values have been registered in the "RDAP JSON Values"
registry:
Value: result set truncated due to authorization
Type: notice and remark type
Description: The list of results does not contain all results due
to lack of authorization. This may indicate to some clients
that proper authorization will yield a longer result set.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: result set truncated due to excessive load
Type: notice and remark type
Description: The list of results does not contain all results due
to an excessively heavy load on the server. This may indicate
to some clients that requerying at a later time will yield a
longer result set.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: result set truncated due to unexplainable reasons
Type: notice and remark type
Description: The list of results does not contain all results for
an unexplainable reason. This may indicate to some clients
that requerying for any reason will not yield a longer result
set.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: object truncated due to authorization
Type: notice and remark type
Description: The object does not contain all data due to lack of
authorization.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: object truncated due to excessive load
Type: notice and remark type
Description: The object does not contain all data due to an
excessively heavy load on the server. This may indicate to
some clients that requerying at a later time will yield all
data of the object.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: object truncated due to unexplainable reasons
Type: notice and remark type
Description: The object does not contain all data for an
unexplainable reason.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
10.2.2. Status
The following values have been registered in the "RDAP JSON Values" registry: Value: validated Type: status Description: Signifies that the data of the object instance has been found to be accurate. This type of status is usually found on entity object instances to note the validity of identifying contact information. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: renew prohibited Type: status Description: Renewal or reregistration of the object instance is forbidden. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: update prohibited Type: status Description: Updates to the object instance are forbidden. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: transfer prohibited Type: status Description: Transfers of the registration from one registrar to another are forbidden. This type of status normally applies to DNR domain names. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: delete prohibited Type: status Description: Deletion of the registration of the object instance is forbidden. This type of status normally applies to DNR domain names. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: proxy
Type: status
Description: The registration of the object instance has been
performed by a third party. This is most commonly applied to
entities.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: private
Type: status
Description: The information of the object instance is not
designated for public consumption. This is most commonly
applied to entities.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: removed
Type: status
Description: Some of the information of the object instance has
not been made available and has been removed. This is most
commonly applied to entities.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: obscured
Type: status
Description: Some of the information of the object instance has
been altered for the purposes of not readily revealing the
actual information of the object instance. This is most
commonly applied to entities.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: associated
Type: status
Description: The object instance is associated with other object
instances in the registry. This is most commonly used to
signify that a nameserver is associated with a domain or that
an entity is associated with a network resource or domain.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: active
Type: status
Description: The object instance is in use. For domain names, it
signifies that the domain name is published in DNS. For
network and autnum registrations, it signifies that they are
allocated or assigned for use in operational networks. This
maps to the "OK" status of the Extensible Provisioning Protocol
(EPP) [RFC5730] .
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: inactive
Type: status
Description: The object instance is not in use. See "active".
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: locked
Type: status
Description: Changes to the object instance cannot be made,
including the association of other object instances.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: pending create
Type: status
Description: A request has been received for the creation of the
object instance, but this action is not yet complete.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: pending renew
Type: status
Description: A request has been received for the renewal of the
object instance, but this action is not yet complete.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: pending transfer
Type: status
Description: A request has been received for the transfer of the
object instance, but this action is not yet complete.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: pending update
Type: status
Description: A request has been received for the update or
modification of the object instance, but this action is not yet
complete.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: pending delete
Type: status
Description: A request has been received for the deletion or
removal of the object instance, but this action is not yet
complete. For domains, this might mean that the name is no
longer published in DNS but has not yet been purged from the
registry database.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
10.2.3. Event Actions
The following values have been registered in the "RDAP JSON Values"
registry:
Value: registration
Type: event action
Description: The object instance was initially registered.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: reregistration
Type: event action
Description: The object instance was registered subsequently to
initial registration.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: last changed
Type: event action
Description: An action noting when the information in the object
instance was last changed.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: expiration
Type: event action
Description: The object instance has been removed or will be
removed at a predetermined date and time from the registry.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: deletion
Type: event action
Description: The object instance was removed from the registry at
a point in time that was not predetermined.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: reinstantiation
Type: event action
Description: The object instance was reregistered after having
been removed from the registry.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: transfer
Type: event action
Description: The object instance was transferred from one
registrant to another.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: locked
Type: event action
Description: The object instance was locked (see the "locked"
status).
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: unlocked
Type: event action
Description: The object instance was unlocked (see the "locked"
status).
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
10.2.4. Roles
The following values have been registered in the "RDAP JSON Values"
registry:
Value: registrant
Type: role
Description: The entity object instance is the registrant of the
registration. In some registries, this is known as a
maintainer.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: technical
Type: role
Description: The entity object instance is a technical contact for
the registration.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: administrative
Type: role
Description: The entity object instance is an administrative
contact for the registration.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: abuse
Type: role
Description: The entity object instance handles network abuse
issues on behalf of the registrant of the registration.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: billing
Type: role
Description: The entity object instance handles payment and
billing issues on behalf of the registrant of the registration.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: registrar
Type: role
Description: The entity object instance represents the authority
responsible for the registration in the registry.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: reseller
Type: role
Description: The entity object instance represents a third party
through which the registration was conducted (i.e., not the
registry or registrar).
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: sponsor
Type: role
Description: The entity object instance represents a domain policy
sponsor, such as an ICANN-approved sponsor.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: proxy
Type: role
Description: The entity object instance represents a proxy for
another entity object, such as a registrant.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: notifications
Type: role
Description: An entity object instance designated to receive
notifications about association object instances.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: noc
Type: role
Description: The entity object instance handles communications
related to a network operations center (NOC).
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
10.2.5. Variant Relations
The following values have been registered in the "RDAP JSON Values"
registry:
Value: registered
Type: domain variant relation
Description: The variant names are registered in the registry.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: unregistered
Type: domain variant relation
Description: The variant names are not found in the registry.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: registration restricted
Type: domain variant relation
Description: Registration of the variant names is restricted to
certain parties or within certain rules.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: open registration
Type: domain variant relation
Description: Registration of the variant names is available to
generally qualified registrants.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
Value: conjoined
Type: domain variant relation
Description: Registration of the variant names occurs
automatically with the registration of the containing domain
registration.
Registrant Name: IESG
Registrant Contact Information: iesg@ietf.org
11. Security Considerations
This specification models information serialized in JSON format. As
JSON is a subset of JavaScript, implementations are advised to follow
the security considerations outlined in Section 6 of [RFC7159] to
prevent code injection.
Though not specific to JSON, RDAP implementers should be aware of the
security considerations specified in [RFC7480] and the security
requirements and considerations in [RFC7481].
Clients caching data, especially clients using RDAP-specific caches
(instead of HTTP-layer caches), should have safeguards to prevent
cache poisoning. See Section 5 for advice on using the self links
for caching.
Finally, service operators should be aware of the privacy mechanisms
noted in Section 13.
12. Internationalization Considerations
12.1. Character Encoding
The default text encoding for JSON responses in RDAP is UTF-8
[RFC3629], and all servers and clients MUST support UTF-8.
12.2. URIs and IRIs
[RFC7480] defines the use of URIs and IRIs in RDAP.
12.3. Language Tags
Section 4.4 defines the use of language tags in the JSON responses
defined in this document.
12.4. Internationalized Domain Names
IDNs are denoted in this specification by the separation of DNS names in LDH form and Unicode form (see Section 3). Representation of IDNs in registries is described by the "variants" object in Section 5.3 and the suggested values listed in Section 10.2.5.13. Privacy Considerations
This specification suggests status values to denote contact and registrant information that has been marked as private and/or has been removed or obscured. See Section 10.2.2 for the complete list of status values. A few of the status values indicate that there are privacy concerns associated with the object instance. The following status codes SHOULD be used to describe data elements of a response when appropriate: private -- The object is not be shared in query responses, unless the user is authorized to view this information. removed -- Data elements within the object have been collected but have been omitted from the response. This option can be used to prevent unauthorized access to associated object instances without the need to mark them as private. obscured -- Data elements within the object have been collected, but the response value has been altered so that values are not easily discernible. A value changed from "1212" to "XXXX" is an example of obscured data. This option may reveal privacy sensitive information and should only be used when data sensitivity does not require a more protective option like "private" or "removed". See Appendix A.1 for an example of applying those values to contacts and registrants.