{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/leaseweb/main/json-schema/leaseweb-null-routed-ip-schema.json",
  "title": "nullRoutedIP",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/leaseweb-ipmgmt-openapi.yml#/components/schemas/nullRoutedIP",
  "properties": {
    "id": {
      "description": "Null route ID",
      "type": "string"
    },
    "ip": {
      "description": "IP address",
      "type": "string"
    },
    "nulledAt": {
      "description": "Null route date in UTC in format yyyy-mm-ddThh:mm:ssZ",
      "format": "date-time",
      "type": "string"
    },
    "nulledBy": {
      "description": "Email address of the user who created the null route or 'LeaseWeb' if null route was created by LeaseWeb.",
      "type": "string"
    },
    "nullLevel": {
      "default": 0,
      "description": "Null route permission level. If greater than 1 then the null route can only be removed by LeaseWeb.",
      "type": "integer"
    },
    "automatedUnnullingAt": {
      "description": "The date and time when the null route is to be automatically removed.",
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "unnulledAt": {
      "description": "The date and time when the null route has been removed. If null then the null route is still active.",
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "unnulledBy": {
      "description": "Email address of the user who removed the null route or 'LeaseWeb' if null route was removed by LeaseWeb.",
      "type": [
        "string",
        "null"
      ]
    },
    "ticketId": {
      "description": "Reference stored with the null route.",
      "type": [
        "string",
        "null"
      ]
    },
    "comment": {
      "description": "Comment stored with the null route.",
      "type": [
        "string",
        "null"
      ]
    },
    "equipmentId": {
      "description": "ID of the equipment which was assigned to the IP at the time of null route creation.",
      "type": "string"
    },
    "assignedContract": {
      "$ref": "#/$defs/assignedContract"
    }
  },
  "required": [
    "assignedContract",
    "automatedUnnullingAt",
    "comment",
    "equipmentId",
    "id",
    "ip",
    "nullLevel",
    "nulledAt",
    "nulledBy",
    "ticketId",
    "unnulledAt",
    "unnulledBy"
  ],
  "$defs": {
    "assignedContract": {
      "description": "An explanation about the purpose of this instance.",
      "properties": {
        "id": {
          "description": "ID of the contract connected to the IP.",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "type": [
        "object",
        "null"
      ]
    }
  }
}