{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/domainee-dev/json-schema/domainee-dev-registrant-schema.json",
  "title": "Registrant",
  "description": "ICANN-required owner contact. Sent to the registrar verbatim.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/domainee-dev-openapi.json#/components/schemas/Registrant",
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "lastName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "phone": {
      "type": "string",
      "pattern": "^\\+\\d{1,3}\\.\\d{4,15}$",
      "description": "E.164 with a dot after the country code."
    },
    "address1": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "address2": {
      "type": "string",
      "maxLength": 128
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "stateOrProvince": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "postalCode": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "ISO 3166-1 alpha-2."
    },
    "organization": {
      "type": "string",
      "maxLength": 128
    }
  },
  "required": [
    "firstName",
    "lastName",
    "email",
    "phone",
    "address1",
    "city",
    "stateOrProvince",
    "postalCode",
    "country"
  ]
}