Skip to main content

Validation rules for photo URLs including format validation, change detection, UTM parameters, and length restrictions

Change Detection

PhotosThumbnailMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

PhotosSmallMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

PhotosMediumMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

PhotosLargeMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

PhotosXLargeMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

PhotosXXLargeMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

PhotosOriginalMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that all of following are unchanged among versions: url, pixelHeight and pixelWidth
VIOLATION
POST_AND_PUT
S

ImageIdMustNotBeUpdated

DefinitionSeverityAPISampleMode
Validate that imageId is unchanged among versions
VIOLATION
POST_AND_PUT
S

SuspiciousRemovalOfCoordinates

DefinitionSeverityAPISampleMode
Validate that coordinates are unchanged among versions
VIOLATION
POST_AND_PUT
S

Filename Extension

FilenameExtensionMustBeValid

DefinitionSeverityAPISampleMode
Validate that filename at end of url is valid and entirely in lower case
VIOLATION
POST_AND_PUT
Link
S

URL

PhotosThumbnailURLMustBePresent

Preconditions
thumbnail is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosSmallURLMustBePresent

Preconditions
small is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosMediumURLMustBePresent

Preconditions
medium is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosLargeURLMustBePresent

Preconditions
large is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosXLargeURLMustBePresent

Preconditions
xlarge is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosXXLargeURLMustBePresent

Preconditions
xxlarge is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosOriginalURLMustBePresent

Preconditions
original is present
DefinitionSeverityAPISampleMode
Validate that url is present
VIOLATION
POST_AND_PUT
Link
S

PhotosThumbnailURLMustNotBeEmpty

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

PhotosSmallURLMustNotBeEmpty

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

PhotosMediumURLMustNotBeEmpty

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

PhotosLargeURLMustNotBeEmpty

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

PhotosXLargeURLMustNotBeEmpty

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

PhotosXXLargeURLMustNotBeEmpty

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

PhotosOriginalURLMustNotBeEmpty

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

PhotosThumbnailURLMustHaveValidFormat

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

PhotosSmallURLMustHaveValidFormat

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

PhotosMediumURLMustHaveValidFormat

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

PhotosLargeURLMustHaveValidFormat

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

PhotosXLargeURLMustHaveValidFormat

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

PhotosXXLargeURLMustHaveValidFormat

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

PhotosOriginalURLMustHaveValidFormat

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

PhotosThumbnailUrlMustNotIncludeUtmParameter

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

PhotosSmallUrlMustNotIncludeUtmParameter

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

PhotosMediumUrlMustNotIncludeUtmParameter

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

PhotosLargeUrlMustNotIncludeUtmParameter

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

PhotosXLargeUrlMustNotIncludeUtmParameter

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

PhotosXXLargeUrlMustNotIncludeUtmParameter

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

PhotosOriginalUrlMustNotIncludeUtmParameter

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

PhotosThumbnailUrlLengthMustNotExceedMaximum

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

PhotosSmallUrlLengthMustNotExceedMaximum

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

PhotosMediumUrlLengthMustNotExceedMaximum

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

PhotosLargeUrlLengthMustNotExceedMaximum

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

PhotosXLargeUrlLengthMustNotExceedMaximum

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

PhotosXXLargeUrlLengthMustNotExceedMaximum

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

PhotosOriginalUrlLengthMustNotExceedMaximum

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

UrlAccessOrPhotoDownloadFailure

DefinitionSeverityAPISampleMode
Validate that a photo can be successfully accessed and downloaded from a URL
VIOLATION
POST_AND_PUT
A
Access/Download Failure Reason
After multiple retry attempts, final attempt returns any of 404 Not Found, 409 Conflict, or 410 Gone HTTP Status
After multiple retry attempts, final attempt returns a non-standard error
After multiple retry attempts, final connection attempt is timed out
Photo size is greater than 20MB
Example Validation Report
{
"code": "VALIDATION__UrlAccessOrPhotoDownloadFailure",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}