Skip to main content

Showcase creative validation rules for app IDs, etag updates, resource state management, and creative details requirements

App Ids​

AppIdsMustBePresent​

Preconditions
callToAction is solely supported by one or more external applications which are only identifiable via an Apple application identifier
DefinitionSeverityAPISampleMode
Validate that appIds is present
VIOLATION
POST_AND_PUT
S

AppIdsMustBeResolvable​

DefinitionSeverityAPISampleMode
Validate that each appIds value is resolvable to an Apple-generated application identifier
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__AppIdsMustBeResolvable",
"severity": "VIOLATION",
"message": "Referenced '{{appIds}}' value must exist",
"context": {
"appIds": [ "284910350", "284910352" ]
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [],
"compared": [],
"expected": []
}
}

AppIdsMustBeValid​

DefinitionSeverityAPISampleMode
Validate that an appIds value has valid formatting
VIOLATION
POST_AND_PUT
S

AppIdsMustNotBeEmpty​

DefinitionSeverityAPISampleMode
Validate that appIds does not include an empty string
VIOLATION
POST_AND_PUT
S

AppIdMustBeResolvableToProviderOfCTA​

DefinitionSeverityAPISampleMode
Validate that an appIds value is resolvable to a provider of the referenced callToAction
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__AppIdMustBeResolvableToProviderOfCTA",
"severity": "VIOLATION",
"message": "appIds value is not available for use with location `{{value}}`",
"context": {
"value": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [],
"compared": [],
"expected": []
}
}

AppIdsMayListExactlyOneId​

DefinitionSeverityAPISampleMode
Validate that the maximum count of items in an appIds list is exactly one (1)
VIOLATION
POST_AND_PUT
S
Example Validation Report
{
"code": "VALIDATION__AppIdsMayListExactlyOneId",
"severity": "VIOLATION",
"message": "'{{appIds}}' may list exactly one value",
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [],
"compared": [],
"expected": []
}
}

AppIdsMustBeDistinct​

DefinitionSeverityAPISampleMode
Validate that each appIds value is distinct
VIOLATION
POST_AND_PUT
S

Etag​

EntityETagDoesNotAllowUpdate​

DefinitionSeverityAPISampleMode
Validate that the provided etag matches with the current version when update is requested
VIOLATION
POST_AND_PUT
S

Resource State​

CreativeMustNotReferToActiveShowcase​

DefinitionSeverityAPISampleMode
Validate that a Showcase Creative is not associated with an "active" Showcase when delete is requested
VIOLATION
POST_AND_PUT
S

CreativeStateMustBeValid​

DefinitionSeverityAPISampleMode
Validate that Showcase Creative resource state is not any of the following when delete is requested: APPROVED, IN_REVIEW, REJECTED or SUBMITTED
VIOLATION
POST_AND_PUT
S

EntityStateDoesNotAllowUpdate​

DefinitionSeverityAPISampleMode
Validate that Showcase Creative resource state is not any of the following when an update is requested: APPROVED or DELETED
VIOLATION
POST_AND_PUT
S

ShowcaseMustHaveValidStateForDeactivation​

DefinitionSeverityAPISampleMode
Validate that Showcase state is PUBLISHED when deactivate is requested
VIOLATION
POST_AND_PUT
S

Showcase Creative​

ShowcaseCreativeDetailsMustBePresent​

DefinitionSeverityAPISampleMode
Validate that showcaseCreativeDetails are present
VIOLATION
POST_AND_PUT
S