Skip to main content

Location phone numbers validation rules for format, types, and contact information requirements

Change Detection

CountOfPhoneNumberTypesIncreased

DefinitionSeverityAPISampleMode
Validate that the count of types in latest submittal is less than or matches the count in the stored record
INFO
PUT
A

SuspiciousRemovalOfPhoneNumbers

DefinitionSeverityAPISampleMode
Validate that phoneNumbers is present when previously submitted
WARNING
PUT
S

UnexpectedPrimaryPhoneNumberChange

DefinitionSeverityAPISampleMode
Validate that the primary phoneNumber is unchanged between last version and latest submittal
WARNING
PUT
A

UnexpectedPhoneNumberTypeChange

DefinitionSeverityAPISampleMode
Validate that a phoneNumber, unchanged between last version and latest submittal, has the same type
WARNING
PUT
S

UnexpectedPrimaryPhoneNumberTypeChange

DefinitionSeverityAPISampleMode
Validate that the Primary Phone Number type is unchanged between last version and latest submittal
WARNING
PUT
A

Cross-feature

PhoneNumbers_ExpectedRegionSubtagForCountryNotPresent

Preconditions
structuredAddress is present
DefinitionSeverityAPISampleMode
Validate that at least one (1) Region Subtag is present that corresponds with countryCode in structuredAddress
INFO
POST_AND_PUT
S

PhoneNumbers_ExpectedRegionSubtagForDerivedCountryNotPresent

Preconditions
displayPoint is present
mainAddress is not present
DefinitionSeverityAPISampleMode
Validate that at least one (1) Region Subtag is present that corresponds with a country derived from displayPoint
INFO
POST_AND_PUT
A

UnexpectedPhoneNumberFormatForCountryCode

Preconditions
structuredAddress is present
DefinitionSeverityAPISampleMode
Validate that phoneNumber has expected format for the corresponding Country derived from the countryCode
INFO
POST_AND_PUT
S

UnexpectedPhoneNumberFormatForDerivedCountry

Preconditions
displayPoint is present
DefinitionSeverityAPISampleMode
Validate that phoneNumber has expected format for the corresponding Country derived from the displayPoint
INFO
POST_AND_PUT
A

Phone Numbers

CountOfValuesInPhoneNumbersListExceedsThreshold

DefinitionSeverityAPISampleMode
Validate that the count of phoneNumbers values in a list does not exceed ten (10)
VIOLATION
POST_AND_PUT
S

CountryDialingCodeNotAllowedForOrgType

Preconditions
orgId resolves to organization that is location owner
DefinitionSeverityAPISampleMode
Validate that dialing code does not resolve to China
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__CountryDialingCodeNotAllowedForOrgType",
"severity": "VIOLATION",
"message": "Country support for your organization type is not available"
}

CountryDialingCodeNotSupported

DefinitionSeverityAPISampleMode
Validate that a dialing code is associated with a supported country
VIOLATION
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__CountryDialingCodeNotSupported",
"severity": "VIOLATION",
"message": "Support for 'phoneNumber' value '{{value}}' not available",
"context": {
"value": "+74959375911"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.locationDetails.phoneNumbers[0].phoneNumber",
"value": "+74959375911"
}
],
"compared": [],
"expected": []
}
}

PhoneNumbersListMustNotIncludeNulls

DefinitionSeverityAPISampleMode
Validate that a list does not include null
VIOLATION
POST_AND_PUT
S

PhoneNumbersMustNotBeEmptyArray

DefinitionSeverityAPISampleMode
Validate that phoneNumbers is not an empty array
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumbersMustNotBeEmptyArray",
"message": "'{{field}}' must be omitted or contain at least one element; empty arrays are not allowed.",
"severity": "VIOLATION",
"context": {
"field": "phoneNumbers"
},
"details": {
"compared": [],
"expected": [],
"submitted": [
{
"field": "$.locationDetails.phoneNumbers",
"value": "[]"
}
],
"createdDate": "2026-03-03T13:58:43.946Z"
}
}

PhoneNumbersNotPresent

DefinitionSeverityAPISampleMode
Validate that phoneNumbers (recommended features) are present
WARNING
POST
Link
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumbersNotPresent",
"severity": "WARNING",
"message": "New Location does not include phone numbers (recommended)",
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"expected": [
{
"field": "$.locationDetails.phoneNumbers"
}
],
"compared": [],
"submitted": []
}
}

PhoneNumbersShouldNotBeExclusivelyFax

DefinitionSeverityAPISampleMode
Validate that not all listed Phone Numbers are exclusively FAX
WARNING
POST_AND_PUT
S

PhoneNumbersAreaCodesAreDissimilar

DefinitionSeverityAPISampleMode
Validate that phoneNumber area code prefixes match
INFO
POST_AND_PUT
A

PhoneNumbersMustBeDistinct

DefinitionSeverityAPISampleMode
Validate that each phoneNumber value is distinct
VIOLATION
POST_AND_PUT
S

Phone Extension

PhoneNumbersExtMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that phoneExt is not an empty string
VIOLATION
POST_AND_PUT
S

PhoneNumberMustNotMatchPhoneExt

DefinitionSeverityAPISampleMode
Validate that phoneNumber does not match phoneExt
VIOLATION
POST_AND_PUT
S

SuspiciousPhoneExtCharacterLength

DefinitionSeverityAPISampleMode
Validate that phoneExt length does not exceed a maximum value (5)
WARNING
POST_AND_PUT
A

Primary

AtLeastOnePrimaryPhoneNumberShouldBePresent

DefinitionSeverityAPISampleMode
Validate that at least one (1) primary phoneNumber is present
WARNING
POST_AND_PUT
Link

MustOnlyHaveOnePrimaryPhoneNumber

DefinitionSeverityAPISampleMode
Validate that only one (1) primary phoneNumber is present
VIOLATION
POST_AND_PUT
Link

PhoneNumbersPrimaryMustBePresent

DefinitionSeverityAPISampleMode
Validate that primary is present
VIOLATION
POST_AND_PUT
Link

Phone Number

PhoneNumberMustBePresent

Preconditions
phoneNumbers is present
DefinitionSeverityAPISampleMode
Validate that phoneNumber is present
VIOLATION
POST_AND_PUT
Link
S

PhoneNumberMustHaveValidFormat

DefinitionSeverityAPISampleMode
Validate that phoneNumber formatting is valid
VIOLATION
POST_AND_PUT
S
{{reason}}
invalid country calling code
invalid length for region
number length matches local not region
too long for region
too short for region
Example Validation Report
{
"code": "VALIDATION__PhoneNumberMustHaveValidFormat",
"message": "Phone Number rejected for reason: '{{reason}}'",
"severity": "VIOLATION",
"context": {
"reason": "too short for region"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.locationDetails.phoneNumbers[0].phoneNumber",
"value": "+4479704802"
}
],
"compared": [],
"expected": []
}
}

PhoneNumberMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that phoneNumber is not an empty string
VIOLATION
POST_AND_PUT
S

PhoneNumberShouldNotBeExclusivelyTTY

DefinitionSeverityAPISampleMode
Validate that not all listed Phone Numbers are exclusively TTY
WARNING
POST_AND_PUT
S

PhoneNumberTypeMustBePresent

Preconditions
phoneNumbers is present
DefinitionSeverityAPISampleMode
Validate that type is present
VIOLATION
POST_AND_PUT
Link
S

PhoneNumberTypeMustBeDistinct

DefinitionSeverityAPISampleMode
Validate that each type is distinct
VIOLATION
POST_AND_PUT
Link

PhoneNumberTypeMustBeValid

DefinitionSeverityAPISampleMode
Validate that type value is valid
VIOLATION
POST_AND_PUT
Link
S

PhoneNumberTypeMustNotBeEmpty

DefinitionSeverityAPISampleMode
Validate that type is not an empty string
VIOLATION
POST_AND_PUT
S

UnexpectedMatchAmongPhoneNumbersAndTypes

DefinitionSeverityAPISampleMode
Validate that Phone Numbers do not unexpectedly match among types: FAX and TTY
WARNING
POST_AND_PUT
S