Skip to main content

Validation rules for brand URLs including App Store validation, presence requirements, format checks, and UTM restrictions

URLs

AppStoreUrlMustBeValid

Preconditions
type is IOS_APP
DefinitionSeverityAPISampleMode
Validate that an App Store url is valid
VIOLATION
POST_AND_PUT
S

CountryCodeTopLevelDomainNotSupported

DefinitionSeverityAPISampleMode
Validate that a URL's ccTLD corresponds with a supported country
VIOLATION
POST_AND_PUT
Link
S
note

In addition to the countries/regions listed in Unsupported Regions, Brand also rejects the cn (China) ccTLD.

Example Validation Report
{
"code": "VALIDATION__CountryCodeTopLevelDomainNotSupported",
"severity": "VIOLATION",
"message": "Support for 'url' value '{{value}}' not available",
"context": {
"value": "http://example.ru"
},
"details": {
"createdDate": "2026-10-10T21:00:59.865Z",
"submitted": [
{
"field": "$.brandDetails.urls[0].url",
"value": "http://example.ru"
}
],
"compared": [],
"expected": []
}
}

UrlsMustBePresent

DefinitionSeverityAPISampleMode
Validate that urls is present (organization type OWNER or AGENCY)
WARNING
POST_AND_PUT
Link
S
Validate that urls is present (any other organization type)
VIOLATION
POST_AND_PUT
Link
S

UrlsUrlLengthMustNotExceedMaximum

DefinitionSeverityAPISampleMode
Validate that url length does not exceed a maximum value (255)
VIOLATION
POST_AND_PUT
Link
S

UrlsTypeMustBeDistinct

DefinitionSeverityAPISampleMode
Validate that each type is distinct
VIOLATION
POST_AND_PUT
S

UrlsTypeMustBePresent

DefinitionSeverityAPISampleMode
Validate that type is present
VIOLATION
POST_AND_PUT
Link
S

UrlsTypeMustBeValid

DefinitionSeverityAPISampleMode
Validate that type value is valid
VIOLATION
POST_AND_PUT
Link
S

UrlsTypeMustNotBeEmpty

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

UrlsUrlMustBePresent

DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

UrlsUrlMustHaveValidFormat

DefinitionSeverityAPISampleMode
Validate that url value's format is valid
VIOLATION
POST_AND_PUT
S

UrlsUrlMustNotBeEmpty

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

UrlsUrlMustNotIncludeUtmParameter

DefinitionSeverityAPISampleMode
Validate that url does include UTM parameter(s)
VIOLATION
POST_AND_PUT
Link
S

UrlsUrlMustPassUrlScan

DefinitionSeverityAPISampleMode
Validate that url passes security checks
VIOLATION
POST_AND_PUT
S
{{reason}}
URL is malformed
URL is not parseable
URL includes unsupported fragment
Protocol must be `https` or `http`
Port number must be in range 1 to 65535
Hostname must be FQDN, or IPv4 or IPv6 address
FQDN hostname is not resolvable
IP Address is not supported
Content exceeds maximum allowed size
Content could not be downloaded. Or, downloaded content exceeds maximum allowed size
Content MIME type is invalid or unsupported
Content failed virus scan
Example Validation Report
{
"code": "VALIDATION__UrlsUrlMustPassUrlScan",
"severity": "VIOLATION",
"message": "URL rejected for reason: '{{reason}}'",
"context": {
"reason": "Content failed virus scan"
},
"details": {
"createdDate": "2026-10-10T21:00:00.00Z",
"submitted": [
{
"field": "$.brandDetails.urls[0].url",
"value": "http://example.com/malware"
}
],
"compared": [],
"expected": []
}
}