{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hostinger/main/json-schema/hostinger-dns-v1-zone-update-request-schema.json",
  "title": "DNS.V1.Zone.UpdateRequest",
  "x-generated": "2026-10-26",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hostinger-dns-zone-api-openapi.yml#/components/schemas/DNS.V1.Zone.UpdateRequest",
  "required": [
    "zone"
  ],
  "properties": {
    "overwrite": {
      "description": "If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created,\notherwise resource records' ttl's are updated and new records are appended.\nIf no matching RRs are found, they are created.",
      "type": "boolean",
      "default": true
    },
    "zone": {
      "type": "array",
      "items": {
        "required": [
          "name",
          "records",
          "type"
        ],
        "properties": {
          "name": {
            "description": "Name of the record (use `@` for wildcard name)",
            "type": "string"
          },
          "records": {
            "description": "Records assigned to the name",
            "type": "array",
            "items": {
              "required": [
                "content"
              ],
              "properties": {
                "content": {
                  "description": "Content of the name record",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "ttl": {
            "description": "TTL (Time-To-Live) of the record",
            "type": "integer"
          },
          "type": {
            "description": "Type of the record",
            "type": "string",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "ALIAS",
              "MX",
              "TXT",
              "NS",
              "SOA",
              "SRV",
              "CAA"
            ]
          }
        },
        "type": "object"
      }
    }
  },
  "type": "object"
}