Skip to main content

1.2. Data Model

1.2. Data Model

The data model for JSON responses is specified in five sections:

  1. simple data types conveyed in JSON primitive types (strings, numbers, booleans, and null)

  2. data structures specified as JSON arrays or objects that are used repeatedly when building up larger objects

  3. object classes representing structured data corresponding to a lookup of a single object

  4. arrays of objects representing structured data corresponding to a search for multiple objects

  5. the response to an error

The object classes represent responses for two major categories of data: responses returned by RIRs for registration data related to IP addresses, reverse DNS names, and Autonomous System numbers and responses returned by DNRs for registration data related to forward DNS names. The following object classes are returned by both RIRs and DNRs:

  1. domains

  2. nameservers

  3. entities

The information served by both RIRs and DNRs for these object classes overlap extensively and are given in this document as a unified model for both classes of service.

In addition to the object classes listed above, RIRs also serve the following object classes:

  1. IP networks

  2. Autonomous System numbers

Object classes defined in this document represent a minimal set of what a compliant client/server needs to understand to function correctly; however, some deployments may want to include additional object classes to suit individual needs. Anticipating this need for extension, Section 2.1 of this document defines a mechanism for extending the JSON objects that are described in this document.

Positive responses take two forms. A response to a lookup of a single object in the registration system yields a JSON object, which is the subject of the lookup. A response to a search for multiple objects yields a JSON object that contains an array of JSON objects that are the subject of the search. In each type of response, other data structures are present within the topmost JSON object.