Skip to main content

Validation rules for caller ID phone numbers including format, presence, uniqueness, verification, and telephony restrictions

Caller ID Details

CallerIdDetailsMustBePresent

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

Phone Number

PhoneNumberAlreadyUsedByDifferentCompany

DefinitionSeverityAPISampleMode
Validate that a phone number does not exactly match an existing phone number under a different organization.
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhoneNumberAlreadyUsedByDifferentOrganization",
"severity": "VIOLATION",
"message": "'phoneNumber' '{{value}}' already used by different organization",
"context": {
"value": "+18005555555"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+18005555555"
}
],
"compared": [],
"expected": []
}
}

PhoneNumberInUseUnderDifferentBrand

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

PhoneNumberIsMatched

Preconditions
Submitted resource has no department
DefinitionSeverityAPISampleMode
Validate that a new caller ID resource's phoneNumber does not exactly match a phoneNumber in an existing resource under the same brand.
VIOLATION
POST
Link
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumberIsMatched",
"severity": "VIOLATION",
"message": "Caller ID with 'phoneNumber' '{{value}}' already exists",
"context": {
"value": "+18005555555"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+18005555555"
}
],
"compared": [
{
"field": "$.id",
"value": "9467895078742654921" /* id of existing matched resource */
}
]
}
}

PhoneNumberMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that submitted phoneNumber matches the existing phoneNumber in the identified resource
VIOLATION
PUT
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumberMustNotBeUpdated",
"severity": "VIOLATION",
"message": "'phoneNumber' must not be updated",
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+18005555555"
}
],
"compared": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+18006666666"
}
],
"expected": []
}
}

PhoneNumberNotIndependentlyMatched

DefinitionSeverityAPISampleMode
Validate that the phoneNumber is matched by an independent source. (Prerequisite before an independent phone number ownership verification task can be performed.)
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhoneNumberNotIndependentlyMatched",
"severity": "VIOLATION",
"message": "'phoneNumber' '{{value}}' could not be independently matched",
"context": {
"value": "+18006666666"
},
"details": {
"createdDate": "2026-05-10T11:36:02.00Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+18006666666"
}
],
"compared": [],
"expected": []
}
}

PhoneNumberOwnershipNotIndependentlyVerifiable

DefinitionSeverityAPISampleMode
Validate that the brand name's association with a phoneNumber is independently verifiable. (In other words, an independent source corroborates the relationship between the name and the number.)
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhoneNumberOwnershipNotIndependentlyVerifiable",
"severity": "VIOLATION",
"message": "'phoneNumber' '{{value}}' owner could not be independently verified",
"context": {
"value": "+18006666666"
},
"details": {
"createdDate": "2026-05-10T11:36:02.00Z",
"submitted": [
{
"field": "callerIdDetails/phoneNumber",
"value": "+18006666666"
}
],
"compared": [],
"expected": []
}
}

TelephoneNumberingPlanNotSupported

DefinitionSeverityAPISampleMode
Validate that phoneNumber country code is a member of a supported telephone numbering plan
VIOLATION
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__TelephoneNumberingPlanNotSupported",
"severity": "VIOLATION",
"message": "Country code in '{{value}}' is not supported and will be ignored",
"context": {
"value": "+61742527777"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+61742527777"
}
],
"compared": [],
"expected": []
}
}

PremiumRateTelephoneNumberNotSupported

DefinitionSeverityAPISampleMode
Validate that phoneNumber is not a premium-rate telephone number
VIOLATION
POST_AND_PUT
Link
S
Example Validation Report
{
"code": "VALIDATION__PremiumRateTelephoneNumberNotSupported",
"severity": "VIOLATION",
"message": "'phoneNumber' '{{value}}' is premium-rate",
"context": {
"value": "+19005555555"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+19005555555"
}
],
"compared": [],
"expected": []
}
}

PhoneNumberMustBePresent

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

PhoneNumberMustHaveValidFormat

DefinitionSeverityAPISampleMode
Validate that phoneNumber formatting is valid
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__PhoneNumberMustHaveValidFormat",
"message": "'phoneNumber' '{{value}}' must have valid format",
"severity": "VIOLATION",
"context": {
"value": "+4479704802"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.callerIdDetails.phoneNumber",
"value": "+4479704802"
}
],
"compared": [],
"expected": []
}
}

PhoneNumberMustNotBeEmpty

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