Skip to main content

Email address validation rules for format, duplicates, security checks, and domain usage

Address

AtSignMustNotPrecedeEmailAddress

DefinitionSeverityAPISampleMode
Validate that @ (at-sign character) does not precede an address
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__AtSignMustNotPrecedeEmailAddress",
"severity": "VIOLATION",
"message": "'@' (at-sign) in 'address' '{{value}} must be removed'",
"context": {
"value": "@brand.com"
},
"details": {
"createdDate": "2026-10-10T11:36:02.00Z",
"submitted": [
{
"field": "$.emailIdDetails.address",
"value": "@brand.com"
}
],
"compared": [],
"expected": []
}
}

EmailAddressInUseUnderDifferentBrand

DefinitionSeverityAPISampleMode
Validate that an address does not exactly match an existing address under a different brand, same organization.
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__EmailAddressInUseUnderDifferentBrand",
"severity": "VIOLATION",
"message": "Email address '{{value}}' already in use under different brand ID",
"context": {
"value": "other.brand.com"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.emailIdDetails.address",
"value": "other.brand.com"
}
],
"compared": [
{
"field": "$.id",
"value": "9467895078742654921" /* id of brand resource */
}
]
}
}

EmailAddressInUseUnderSameOrganization

DefinitionSeverityAPISampleMode
Validate that an address does not exactly match an existing address under the same organization.
VIOLATION
POST_AND_PUT
S

EmailAddressIsMatched

DefinitionSeverityAPISampleMode
Validate that an address does not exactly match an address in an existing resource under the same brand.
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__EmailAddressIsMatched",
"severity": "VIOLATION",
"message": "Email ID resource with '{{value}}' already exists",
"context": {
"value": "duplicate-email@brand.com"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.emailIdDetails.address",
"value": "duplicate-email@brand.com"
}
],
"compared": [
{
"field": "$.id",
"value": "9467895078742654921" /* id of existing matched resource */
}
]
}
}

EmailAddressMustBePresent

DefinitionSeverityAPISampleMode
Validate that address is present
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__EmailAddressMustBePresent",
"message": "'address' must be present",
"severity": "VIOLATION"
}

EmailAddressMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that address is not an empty string
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__EmailAddressMustNotBeEmpty",
"severity": "VIOLATION",
"message": "'address' must not be empty string"
}

Email ID Details

EmailIdDetailsMustBePresent

DefinitionSeverityAPISampleMode
Validate that emailIdDetails is present
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__EmailIdDetailsMustBePresent",
"message": "'emailIdDetails' must be present",
"severity": "VIOLATION"
}

EmailIdMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that resource state is not PUBLISHED
VIOLATION
PUT
S
Example Validation Report
{
"code": "VALIDATION__EmailIdMustNotBeUpdated",
"severity": "VIOLATION",
"message": "Email ID cannot be updated"
}

MainDomainPartAlreadyExistsUnderBrand

Preconditions
address has subdomain
Resource state is not DELETED
DefinitionSeverityAPISampleMode
Validate that the "main" domain part does not match the corresponding part of an existing email ID resource's address, under the same brand
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__MainDomainPartAlreadyExistsUnderBrand",
"severity": "VIOLATION",
"message": "Main domain part matched in email ID resource `{{id}}`. Email ID resource with subdomain is unnecessary",
"context": {
"id": "9467895078742654966"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"address": "$.emailIdDetails.address",
"value": "subdomain.main-domain-part.com"
}
],
"compared": [
{
"field": "$.id",
"value": "9467895078742654966"
}
],
"expected": []
}
}

Security

EmailIdMustPassUrlScan

DefinitionSeverityAPISampleMode
Validate that address passes security checks
WARNING
POST_AND_PUT
S
{{reason}}
DMARC record not found or invalid
does not resolve to accepted IP address
does not resolve to accepted IP address version (v4 or v6)
email address is malformed
hostname is neither FQDN, IP v4 nor IP v6. Or, hostname is malicious or a threat
Example Validation Report
{
"code": "VALIDATION__EmailIdMustPassUrlScan",
"message": "Email ID did not pass URL scan for reason: '{{reason}}'",
"severity": "WARNING",
"context": {
"reason": "does not resolve to accepted IP address"
},
"details": {
"createdDate": "2026-06-01T21:00:59.865Z",
"submitted": [
{
"field": "$.emailIdDetails.address",
"value": "example.com"
}
],
"compared": [],
"expected": []
}
}