{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Domain",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "integer",
      "description": "Internal TzKT id.  \n**[sortable]**",
      "format": "int32"
    },
    "level": {
      "type": "integer",
      "description": "Domain level (i.e. tez has level=1, domain.tez has level=2, subdomain.domain.tez has level=3, etc.).",
      "format": "int32"
    },
    "name": {
      "type": "string",
      "description": "Domain record name.  \n**[sortable]**"
    },
    "owner": {
      "description": "Owner of the domain.",
      "oneOf": [
        {
          "$ref": "#/components/schemas/Alias"
        }
      ]
    },
    "address": {
      "description": "Address the domain points to.",
      "nullable": true,
      "oneOf": [
        {
          "$ref": "#/components/schemas/Alias"
        }
      ]
    },
    "reverse": {
      "type": "boolean",
      "description": "Whether or not the domain is on the reverse records list"
    },
    "expiration": {
      "type": "string",
      "description": "Expiration datetime",
      "format": "date-time"
    },
    "data": {
      "description": "Arbitrary data bound to the domain.",
      "nullable": true
    },
    "firstLevel": {
      "type": "integer",
      "description": "Level of the block where the domain was first seen.  \n**[sortable]**",
      "format": "int32"
    },
    "firstTime": {
      "type": "string",
      "description": "Timestamp of the block where the domain was first seen.",
      "format": "date-time"
    },
    "lastLevel": {
      "type": "integer",
      "description": "Level of the block where the domain was last seen.  \n**[sortable]**",
      "format": "int32"
    },
    "lastTime": {
      "type": "string",
      "description": "Timestamp of the block where the domain was last seen.",
      "format": "date-time"
    }
  }
}