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
PUT
S

PhotosSmallMustNotBeUpdated​

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

PhotosMediumMustNotBeUpdated​

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

PhotosLargeMustNotBeUpdated​

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

PhotosXLargeMustNotBeUpdated​

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

PhotosXXLargeMustNotBeUpdated​

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

PhotosOriginalMustNotBeUpdated​

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

ImageIdMustNotBeUpdated​

DefinitionSeverityAPISampleMode
Validate that imageId is unchanged among versions
VIOLATION
PUT
S

SuspiciousRemovalOfCoordinates​

DefinitionSeverityAPISampleMode
Validate that coordinates are unchanged among versions
WARNING
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. URL not accessible or photo download failure",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}

PhotoDownloadTlsFailure​

DefinitionSeverityAPISampleMode
Validate that the photo URL is accessible over a valid TLS connection
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhotoDownloadTlsFailure",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected. TLS certificate verification failed for the photo URL. Ensure your server's certificate is valid and not expired.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}

PhotoDownloadDnsFailure​

DefinitionSeverityAPISampleMode
Validate that the domain in the photo URL resolves successfully
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhotoDownloadDnsFailure",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected. DNS resolution failed for the photo URL. Ensure the domain in your URL is correct and publicly reachable.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}

PhotoDownloadTimeout​

DefinitionSeverityAPISampleMode
Validate that the photo URL responds within the required time
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhotoDownloadTimeout",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected. The request to download the photo timed out. Ensure your photo host is publicly reachable and responding within the required time.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}

PhotoDownloadHttp4xxError​

DefinitionSeverityAPISampleMode
Validate that the photo URL does not return an HTTP 4xx client error
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhotoDownloadHttp4xxError",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected. The photo URL returned an HTTP 4xx error. Ensure the URL is correct and accessible without authentication.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}

PhotoDownloadHttp5xxError​

DefinitionSeverityAPISampleMode
Validate that the photo URL does not return an HTTP 5xx server error
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhotoDownloadHttp5xxError",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected. The photo URL returned an HTTP 5xx error. Check the availability of your photo host.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}

PhotoContentInvalid​

DefinitionSeverityAPISampleMode
Validate that the content downloaded from the photo URL is a valid, processable image
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__PhotoContentInvalid",
"severity": "VIOLATION",
"message": "Photo with Apple-generated '{{id}}' rejected. The downloaded file could not be processed. Ensure the URL points to a valid image in a supported format.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.000Z",
"compared": [],
"expected": [],
"submitted": []
}
}