CreativeRejectionReason
Detailed rejection reason for an ad creative that failed Apple review.
Declaration
object CreativeRejectionReasonProperties
| Name | Type | Description |
|---|---|---|
id Required | int64 | System-assigned identifier for this rejection reason record. Read-only. |
adamId | int64 | The Adam ID of the app whose product page triggered the rejection, if applicable. Read-only. |
productPageId | string | The product page ID associated with the rejection, if applicable. Read-only. |
assetId | string | The UUID of the asset that triggered the rejection, if applicable. Read-only. |
supplySource | string | Supply source for the rejection. Read-only. |
supplyPlacement | string | Supply placement for the rejection. Read-only. |
countryOrRegion | string | Country or region code. Read-only. |
languageCode | string | Language code. Read-only. |
reasonType | string | Type of rejection reason. Read-only. |
reasonCode | string | Code for the specific rejection reason. Read-only. |
comment | string | Additional context for the rejection. Nullable. Read-only. |
reasonLevel | string | The level at which the rejection applies. Possible values: |
Discussion
The CreativeRejectionReason object represents a record returned by the rejection reasons endpoint, describing why a specific ad creative was rejected. Each record includes the scope of rejection (by adamId, productPageId, or assetId) and the policy categories that were violated. To diagnose and remediate rejected ad creatives, use these records alongside systemStatusReasons on the Creative.
The endpoints that query and fetch CreativeRejectionReason records, POST /v1/rejection-reasons/apps/query (Query Rejection Reasons) and GET /v1/rejection-reasons/apps/{rejectionReasonId} (Get Rejection Reasons), are documented under Apps > App Eligibility. See Query Rejection Reasons and Get Rejection Reasons.
Example
{
"id": 555666777,
"adamId": 123456789,
"creativeId": 666777888,
"productPageId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"assetId": null,
"supplySource": "APPSTORE",
"supplyPlacement": "APPSTORE_SEARCH_TAB",
"countryOrRegion": "US",
"languageCode": "en-US",
"reasonType": "REJECTION_REASON",
"reasonCode": "SCREENSHOT_NOT_REPRESENTATIVE",
"comment": "Screenshot does not accurately represent the AwayFinder app experience.",
"reasonLevel": "CUSTOM_PRODUCT_PAGE_LOCALE",
"creationTime": "2025-01-10T08:00:00.000",
"modificationTime": "2025-01-10T08:00:00.000"
}