Showcase creative content validation rules for descriptions, locale requirements, placement types, and text constraints
Contents
ContentsMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that contents is present | Link |
Descriptions
DescriptionsMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that descriptions is present | Link |
DescriptionsAndPhotoLocaleShouldMatch
| Preconditions |
|---|
Photo captions are present |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that at least one (1) Descriptions locale matches locale in captions | Link |
HeadlineDescriptionsTextMatchesBodyDescriptionsText
| Preconditions |
|---|
HEADLINE descriptions locale matches BODY descriptions locale |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that HEADLINE descriptions text does not match BODY descriptions text |
Example Validation Report
{
"code": "VALIDATION__HeadlineDescriptionsTextMatchesBodyDescriptionsText",
"severity": "VIOLATION",
"message": "`HEADLINE` descriptions `text` matches `BODY` descriptions `text`",
"details": {
"createdDate": "2026-12-01T21:00:59.865Z",
"submitted": [
{
"field": "$.showcaseCreativeDetails.contents[0].descriptions[0].text",
"value": "Happy New Year!"
},
{
"field": "$.showcaseCreativeDetails.contents[1].descriptions[0].text",
"value": "Happy New Year!"
}
],
"compared": [],
"expected": []
}
}
Locale
DescriptionsLocaleMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that locale is present | Link |
DescriptionsLocaleMustBeValid
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that locale is valid | Link |
DescriptionsLocaleMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that locale is not an empty string |
BodyDescriptionsLocaleMustBeDistinct
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that each locale is distinct |
HeadlineDescriptionsLocaleMustBeDistinct
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that each locale is distinct |
Placement
ContentsPlacementMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that placement is present | Link |
ContentsPlacementBodyMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that BODY Placement is present | Link |
ContentsPlacementHeadlineMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that HEADLINE Placement is present | Link |
ContentsPlacementMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that placement is not an empty string |
MustHaveExactlyOnePlacementBody
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that exactly one (1) BODY Placement is present |
MustHaveExactlyOnePlacementHeadline
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that exactly one (1) HEADLINE Placement is present |
PlacementTypesMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validates that both BODY and HEADLINE placement types are present |
Text
ContentsDescriptionsTextHasUnsupportedCharacter
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text does not include an unsupported character | Link |
DescriptionsTextMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text is present | Link |
DescriptionsTextMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text is not an empty string |
DescriptionsTextMustNotBeEntirelyNumeric
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that the text value is not entirely numeric |
DescriptionsBodyTextMustNotExceedMaximum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text length does not exceed a maximum value (100) |
DescriptionsHeadlineTextMustNotExceedMaximum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text length does not exceed a maximum value (38) |
DescriptionsTextMustExceedMinimum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text length exceeds a minimum value (5) |
DescriptionsTextMustNotIncludeVulgarWord
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text does not include a vulgar word |
DescriptionsTextMustNotIncludeUrl
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text does not include a URL | Link |
DescriptionsTextShouldNotMatch
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text does not match among different locale values |
DescriptionsText_SuspectedUnintentionalSequentialWordRepetition
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that text does not include an unintentional repetitive sequence of words |
DescriptionsLocaleAmongDifferentPlacementsMustMatch
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that each Descriptions locale, listed under one Placement is matched by a Descriptions locale under each other Placement | Link |