content.accounts.authinfo

valid {
    input.ProviderMetadata.Region == STRING
}

content.accounts.claimwebsite

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.overwrite == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

content.accounts.credentials.create

enum_AccountCredentialsPurpose := [ "ACCOUNT_CREDENTIALS_PURPOSE_UNSPECIFIED", "SHOPIFY_ORDER_MANAGEMENT", "SHOPIFY_INTEGRATION" ]

valid {
    input.Body.accessToken == STRING
    input.Body.expiresIn == STRING
    input.Body.purpose == enum_AccountCredentialsPurpose[_]
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.custombatch

valid {
    input.Body.entries[_].account.adsLinks[_].adsId == STRING
    input.Body.entries[_].account.adsLinks[_].status == STRING
    input.Body.entries[_].account.adultContent == BOOLEAN
    input.Body.entries[_].account.automaticImprovements.imageImprovements.accountImageImprovementsSettings.allowAutomaticImageImprovements == BOOLEAN
    input.Body.entries[_].account.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowAvailabilityUpdates == BOOLEAN
    input.Body.entries[_].account.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowConditionUpdates == BOOLEAN
    input.Body.entries[_].account.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowPriceUpdates == BOOLEAN
    input.Body.entries[_].account.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowStrictAvailabilityUpdates == BOOLEAN
    input.Body.entries[_].account.automaticImprovements.shippingImprovements.allowShippingImprovements == BOOLEAN
    input.Body.entries[_].account.automaticLabelIds[_] == STRING
    input.Body.entries[_].account.businessIdentity.blackOwned.selfIdentified == BOOLEAN
    input.Body.entries[_].account.businessIdentity.includeForPromotions == BOOLEAN
    input.Body.entries[_].account.businessIdentity.latinoOwned.selfIdentified == BOOLEAN
    input.Body.entries[_].account.businessIdentity.smallBusiness.selfIdentified == BOOLEAN
    input.Body.entries[_].account.businessIdentity.veteranOwned.selfIdentified == BOOLEAN
    input.Body.entries[_].account.businessIdentity.womenOwned.selfIdentified == BOOLEAN
    input.Body.entries[_].account.businessInformation.address.country == STRING
    input.Body.entries[_].account.businessInformation.address.locality == STRING
    input.Body.entries[_].account.businessInformation.address.postalCode == STRING
    input.Body.entries[_].account.businessInformation.address.region == STRING
    input.Body.entries[_].account.businessInformation.address.streetAddress == STRING
    input.Body.entries[_].account.businessInformation.customerService.email == STRING
    input.Body.entries[_].account.businessInformation.customerService.phoneNumber == STRING
    input.Body.entries[_].account.businessInformation.customerService.url == STRING
    input.Body.entries[_].account.businessInformation.koreanBusinessRegistrationNumber == STRING
    input.Body.entries[_].account.businessInformation.phoneNumber == STRING
    input.Body.entries[_].account.businessInformation.phoneVerificationStatus == STRING
    input.Body.entries[_].account.conversionSettings.freeListingsAutoTaggingEnabled == BOOLEAN
    input.Body.entries[_].account.cssId == STRING
    input.Body.entries[_].account.googleMyBusinessLink.gmbAccountId == STRING
    input.Body.entries[_].account.googleMyBusinessLink.gmbEmail == STRING
    input.Body.entries[_].account.googleMyBusinessLink.status == STRING
    input.Body.entries[_].account.id == STRING
    input.Body.entries[_].account.kind == STRING
    input.Body.entries[_].account.labelIds[_] == STRING
    input.Body.entries[_].account.name == STRING
    input.Body.entries[_].account.sellerId == STRING
    input.Body.entries[_].account.users[_].admin == BOOLEAN
    input.Body.entries[_].account.users[_].emailAddress == STRING
    input.Body.entries[_].account.users[_].orderManager == BOOLEAN
    input.Body.entries[_].account.users[_].paymentsAnalyst == BOOLEAN
    input.Body.entries[_].account.users[_].paymentsManager == BOOLEAN
    input.Body.entries[_].account.users[_].reportingManager == BOOLEAN
    input.Body.entries[_].account.websiteUrl == STRING
    input.Body.entries[_].account.youtubeChannelLinks[_].channelId == STRING
    input.Body.entries[_].account.youtubeChannelLinks[_].status == STRING
    input.Body.entries[_].accountId == STRING
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].force == BOOLEAN
    input.Body.entries[_].labelIds[_] == STRING
    input.Body.entries[_].linkRequest.action == STRING
    input.Body.entries[_].linkRequest.linkType == STRING
    input.Body.entries[_].linkRequest.linkedAccountId == STRING
    input.Body.entries[_].linkRequest.services[_] == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].overwrite == BOOLEAN
    input.Body.entries[_].view == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.delete

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.force == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

content.accounts.get

enum_ViewParameter := [ "MERCHANT", "CSS" ]

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

content.accounts.insert

valid {
    input.Body.adsLinks[_].adsId == STRING
    input.Body.adsLinks[_].status == STRING
    input.Body.adultContent == BOOLEAN
    input.Body.automaticImprovements.imageImprovements.accountImageImprovementsSettings.allowAutomaticImageImprovements == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowAvailabilityUpdates == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowConditionUpdates == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowPriceUpdates == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowStrictAvailabilityUpdates == BOOLEAN
    input.Body.automaticImprovements.shippingImprovements.allowShippingImprovements == BOOLEAN
    input.Body.automaticLabelIds[_] == STRING
    input.Body.businessIdentity.blackOwned.selfIdentified == BOOLEAN
    input.Body.businessIdentity.includeForPromotions == BOOLEAN
    input.Body.businessIdentity.latinoOwned.selfIdentified == BOOLEAN
    input.Body.businessIdentity.smallBusiness.selfIdentified == BOOLEAN
    input.Body.businessIdentity.veteranOwned.selfIdentified == BOOLEAN
    input.Body.businessIdentity.womenOwned.selfIdentified == BOOLEAN
    input.Body.businessInformation.address.country == STRING
    input.Body.businessInformation.address.locality == STRING
    input.Body.businessInformation.address.postalCode == STRING
    input.Body.businessInformation.address.region == STRING
    input.Body.businessInformation.address.streetAddress == STRING
    input.Body.businessInformation.customerService.email == STRING
    input.Body.businessInformation.customerService.phoneNumber == STRING
    input.Body.businessInformation.customerService.url == STRING
    input.Body.businessInformation.koreanBusinessRegistrationNumber == STRING
    input.Body.businessInformation.phoneNumber == STRING
    input.Body.businessInformation.phoneVerificationStatus == STRING
    input.Body.conversionSettings.freeListingsAutoTaggingEnabled == BOOLEAN
    input.Body.cssId == STRING
    input.Body.googleMyBusinessLink.gmbAccountId == STRING
    input.Body.googleMyBusinessLink.gmbEmail == STRING
    input.Body.googleMyBusinessLink.status == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.labelIds[_] == STRING
    input.Body.name == STRING
    input.Body.sellerId == STRING
    input.Body.users[_].admin == BOOLEAN
    input.Body.users[_].emailAddress == STRING
    input.Body.users[_].orderManager == BOOLEAN
    input.Body.users[_].paymentsAnalyst == BOOLEAN
    input.Body.users[_].paymentsManager == BOOLEAN
    input.Body.users[_].reportingManager == BOOLEAN
    input.Body.websiteUrl == STRING
    input.Body.youtubeChannelLinks[_].channelId == STRING
    input.Body.youtubeChannelLinks[_].status == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.labels.create

valid {
    input.Body.accountId == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.labels.delete

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.labelId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.labels.list

valid {
    input.ReqMap.accountId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.labels.patch

valid {
    input.Body.accountId == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.labelId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.link

valid {
    input.Body.action == STRING
    input.Body.eCommercePlatformLinkInfo.externalAccountId == STRING
    input.Body.linkType == STRING
    input.Body.linkedAccountId == STRING
    input.Body.paymentServiceProviderLinkInfo.externalAccountBusinessCountry == STRING
    input.Body.paymentServiceProviderLinkInfo.externalAccountId == STRING
    input.Body.services[_] == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.list

enum_ViewParameter := [ "MERCHANT", "CSS" ]

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.label == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

content.accounts.listlinks

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.requestphoneverification

enum_RequestPhoneVerificationRequestPhoneVerificationMethod := [ "PHONE_VERIFICATION_METHOD_UNSPECIFIED", "SMS", "PHONE_CALL" ]

valid {
    input.Body.languageCode == STRING
    input.Body.phoneNumber == STRING
    input.Body.phoneRegionCode == STRING
    input.Body.phoneVerificationMethod == enum_RequestPhoneVerificationRequestPhoneVerificationMethod[_]
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.returncarrier.create

enum_AccountReturnCarrierCarrierCode := [ "CARRIER_CODE_UNSPECIFIED", "FEDEX", "UPS" ]

valid {
    input.Body.carrierAccountName == STRING
    input.Body.carrierAccountNumber == STRING
    input.Body.carrierCode == enum_AccountReturnCarrierCarrierCode[_]
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.returncarrier.delete

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.carrierAccountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.returncarrier.list

valid {
    input.ReqMap.accountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.returncarrier.patch

enum_AccountReturnCarrierCarrierCode := [ "CARRIER_CODE_UNSPECIFIED", "FEDEX", "UPS" ]

valid {
    input.Body.carrierAccountName == STRING
    input.Body.carrierAccountNumber == STRING
    input.Body.carrierCode == enum_AccountReturnCarrierCarrierCode[_]
    input.ReqMap.accountId == STRING
    input.ReqMap.carrierAccountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.update

valid {
    input.Body.adsLinks[_].adsId == STRING
    input.Body.adsLinks[_].status == STRING
    input.Body.adultContent == BOOLEAN
    input.Body.automaticImprovements.imageImprovements.accountImageImprovementsSettings.allowAutomaticImageImprovements == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowAvailabilityUpdates == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowConditionUpdates == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowPriceUpdates == BOOLEAN
    input.Body.automaticImprovements.itemUpdates.accountItemUpdatesSettings.allowStrictAvailabilityUpdates == BOOLEAN
    input.Body.automaticImprovements.shippingImprovements.allowShippingImprovements == BOOLEAN
    input.Body.automaticLabelIds[_] == STRING
    input.Body.businessIdentity.blackOwned.selfIdentified == BOOLEAN
    input.Body.businessIdentity.includeForPromotions == BOOLEAN
    input.Body.businessIdentity.latinoOwned.selfIdentified == BOOLEAN
    input.Body.businessIdentity.smallBusiness.selfIdentified == BOOLEAN
    input.Body.businessIdentity.veteranOwned.selfIdentified == BOOLEAN
    input.Body.businessIdentity.womenOwned.selfIdentified == BOOLEAN
    input.Body.businessInformation.address.country == STRING
    input.Body.businessInformation.address.locality == STRING
    input.Body.businessInformation.address.postalCode == STRING
    input.Body.businessInformation.address.region == STRING
    input.Body.businessInformation.address.streetAddress == STRING
    input.Body.businessInformation.customerService.email == STRING
    input.Body.businessInformation.customerService.phoneNumber == STRING
    input.Body.businessInformation.customerService.url == STRING
    input.Body.businessInformation.koreanBusinessRegistrationNumber == STRING
    input.Body.businessInformation.phoneNumber == STRING
    input.Body.businessInformation.phoneVerificationStatus == STRING
    input.Body.conversionSettings.freeListingsAutoTaggingEnabled == BOOLEAN
    input.Body.cssId == STRING
    input.Body.googleMyBusinessLink.gmbAccountId == STRING
    input.Body.googleMyBusinessLink.gmbEmail == STRING
    input.Body.googleMyBusinessLink.status == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.labelIds[_] == STRING
    input.Body.name == STRING
    input.Body.sellerId == STRING
    input.Body.users[_].admin == BOOLEAN
    input.Body.users[_].emailAddress == STRING
    input.Body.users[_].orderManager == BOOLEAN
    input.Body.users[_].paymentsAnalyst == BOOLEAN
    input.Body.users[_].paymentsManager == BOOLEAN
    input.Body.users[_].reportingManager == BOOLEAN
    input.Body.websiteUrl == STRING
    input.Body.youtubeChannelLinks[_].channelId == STRING
    input.Body.youtubeChannelLinks[_].status == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.updatelabels

valid {
    input.Body.labelIds[_] == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounts.verifyphonenumber

enum_VerifyPhoneNumberRequestPhoneVerificationMethod := [ "PHONE_VERIFICATION_METHOD_UNSPECIFIED", "SMS", "PHONE_CALL" ]

valid {
    input.Body.phoneVerificationMethod == enum_VerifyPhoneNumberRequestPhoneVerificationMethod[_]
    input.Body.verificationCode == STRING
    input.Body.verificationId == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accountstatuses.custombatch

valid {
    input.Body.entries[_].accountId == STRING
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].destinations[_] == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.ProviderMetadata.Region == STRING
}

content.accountstatuses.get

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.destinations == STRING
    input.ProviderMetadata.Region == STRING
}

content.accountstatuses.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.destinations == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounttax.custombatch

valid {
    input.Body.entries[_].accountId == STRING
    input.Body.entries[_].accountTax.accountId == STRING
    input.Body.entries[_].accountTax.kind == STRING
    input.Body.entries[_].accountTax.rules[_].country == STRING
    input.Body.entries[_].accountTax.rules[_].locationId == STRING
    input.Body.entries[_].accountTax.rules[_].ratePercent == STRING
    input.Body.entries[_].accountTax.rules[_].shippingTaxed == BOOLEAN
    input.Body.entries[_].accountTax.rules[_].useGlobalRate == BOOLEAN
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounttax.get

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounttax.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.accounttax.update

valid {
    input.Body.accountId == STRING
    input.Body.kind == STRING
    input.Body.rules[_].country == STRING
    input.Body.rules[_].locationId == STRING
    input.Body.rules[_].ratePercent == STRING
    input.Body.rules[_].shippingTaxed == BOOLEAN
    input.Body.rules[_].useGlobalRate == BOOLEAN
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.buyongoogleprograms.activate

valid {
    input.Body.STRING == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.buyongoogleprograms.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.buyongoogleprograms.onboard

valid {
    input.Body.customerServiceEmail == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.buyongoogleprograms.patch

enum_BuyOnGoogleProgramStatusBusinessModel := [ "BUSINESS_MODEL_UNSPECIFIED", "MANUFACTURER", "IMPORTER", "RESELLER", "OTHER" ]
enum_BuyOnGoogleProgramStatusOnlineSalesChannel := [ "ONLINE_SALES_CHANNEL_UNSPECIFIED", "GOOGLE_EXCLUSIVE", "GOOGLE_AND_OTHER_WEBSITES" ]

valid {
    input.Body.businessModel[_] == enum_BuyOnGoogleProgramStatusBusinessModel[_]
    input.Body.customerServicePendingEmail == STRING
    input.Body.customerServicePendingPhoneNumber == STRING
    input.Body.customerServicePendingPhoneRegionCode == STRING
    input.Body.onlineSalesChannel == enum_BuyOnGoogleProgramStatusOnlineSalesChannel[_]
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionCode == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

content.buyongoogleprograms.pause

valid {
    input.Body.STRING == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.buyongoogleprograms.requestreview

valid {
    input.Body.STRING == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.collections.create

valid {
    input.Body.customLabel0 == STRING
    input.Body.customLabel1 == STRING
    input.Body.customLabel2 == STRING
    input.Body.customLabel3 == STRING
    input.Body.customLabel4 == STRING
    input.Body.featuredProduct[_].offerId == STRING
    input.Body.featuredProduct[_].x == NUMBER
    input.Body.featuredProduct[_].y == NUMBER
    input.Body.headline[_] == STRING
    input.Body.id == STRING
    input.Body.imageLink[_] == STRING
    input.Body.language == STRING
    input.Body.link == STRING
    input.Body.mobileLink == STRING
    input.Body.productCountry == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.collections.delete

valid {
    input.ReqMap.collectionId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.collections.get

valid {
    input.ReqMap.collectionId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.collections.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.collectionstatuses.get

valid {
    input.ReqMap.collectionId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.collectionstatuses.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.conversionsources.create

enum_AttributionSettingsAttributionModel := [ "ATTRIBUTION_MODEL_UNSPECIFIED", "CROSS_CHANNEL_LAST_CLICK", "ADS_PREFERRED_LAST_CLICK", "CROSS_CHANNEL_DATA_DRIVEN", "CROSS_CHANNEL_FIRST_CLICK", "CROSS_CHANNEL_LINEAR", "CROSS_CHANNEL_POSITION_BASED", "CROSS_CHANNEL_TIME_DECAY" ]

valid {
    input.Body.googleAnalyticsLink.propertyId == STRING
    input.Body.merchantCenterDestination.attributionSettings.attributionLookbackWindowInDays == INTEGER
    input.Body.merchantCenterDestination.attributionSettings.attributionModel == enum_AttributionSettingsAttributionModel[_]
    input.Body.merchantCenterDestination.attributionSettings.conversionType[_] == {}
    input.Body.merchantCenterDestination.currencyCode == STRING
    input.Body.merchantCenterDestination.displayName == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.conversionsources.delete

valid {
    input.ReqMap.conversionSourceId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.conversionsources.get

valid {
    input.ReqMap.conversionSourceId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.conversionsources.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.showDeleted == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

content.conversionsources.patch

enum_AttributionSettingsAttributionModel := [ "ATTRIBUTION_MODEL_UNSPECIFIED", "CROSS_CHANNEL_LAST_CLICK", "ADS_PREFERRED_LAST_CLICK", "CROSS_CHANNEL_DATA_DRIVEN", "CROSS_CHANNEL_FIRST_CLICK", "CROSS_CHANNEL_LINEAR", "CROSS_CHANNEL_POSITION_BASED", "CROSS_CHANNEL_TIME_DECAY" ]

valid {
    input.Body.googleAnalyticsLink.propertyId == STRING
    input.Body.merchantCenterDestination.attributionSettings.attributionLookbackWindowInDays == INTEGER
    input.Body.merchantCenterDestination.attributionSettings.attributionModel == enum_AttributionSettingsAttributionModel[_]
    input.Body.merchantCenterDestination.attributionSettings.conversionType[_] == {}
    input.Body.merchantCenterDestination.currencyCode == STRING
    input.Body.merchantCenterDestination.displayName == STRING
    input.ReqMap.conversionSourceId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

content.conversionsources.undelete

valid {
    input.Body.STRING == STRING
    input.ReqMap.conversionSourceId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.csses.get

valid {
    input.ReqMap.cssDomainId == STRING
    input.ReqMap.cssGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

content.csses.list

valid {
    input.ReqMap.cssGroupId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.csses.updatelabels

valid {
    input.Body.labelIds[_] == STRING
    input.ReqMap.cssDomainId == STRING
    input.ReqMap.cssGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].datafeed.attributeLanguage == STRING
    input.Body.entries[_].datafeed.contentType == STRING
    input.Body.entries[_].datafeed.fetchSchedule.dayOfMonth == INTEGER
    input.Body.entries[_].datafeed.fetchSchedule.fetchUrl == STRING
    input.Body.entries[_].datafeed.fetchSchedule.hour == INTEGER
    input.Body.entries[_].datafeed.fetchSchedule.minuteOfHour == INTEGER
    input.Body.entries[_].datafeed.fetchSchedule.password == STRING
    input.Body.entries[_].datafeed.fetchSchedule.paused == BOOLEAN
    input.Body.entries[_].datafeed.fetchSchedule.timeZone == STRING
    input.Body.entries[_].datafeed.fetchSchedule.username == STRING
    input.Body.entries[_].datafeed.fetchSchedule.weekday == STRING
    input.Body.entries[_].datafeed.fileName == STRING
    input.Body.entries[_].datafeed.format.columnDelimiter == STRING
    input.Body.entries[_].datafeed.format.fileEncoding == STRING
    input.Body.entries[_].datafeed.format.quotingMode == STRING
    input.Body.entries[_].datafeed.id == STRING
    input.Body.entries[_].datafeed.kind == STRING
    input.Body.entries[_].datafeed.name == STRING
    input.Body.entries[_].datafeed.targets[_].country == STRING
    input.Body.entries[_].datafeed.targets[_].excludedDestinations[_] == STRING
    input.Body.entries[_].datafeed.targets[_].feedLabel == STRING
    input.Body.entries[_].datafeed.targets[_].includedDestinations[_] == STRING
    input.Body.entries[_].datafeed.targets[_].language == STRING
    input.Body.entries[_].datafeed.targets[_].targetCountries[_] == STRING
    input.Body.entries[_].datafeedId == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.delete

valid {
    input.ReqMap.datafeedId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.fetchnow

valid {
    input.ReqMap.datafeedId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.get

valid {
    input.ReqMap.datafeedId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.insert

valid {
    input.Body.attributeLanguage == STRING
    input.Body.contentType == STRING
    input.Body.fetchSchedule.dayOfMonth == INTEGER
    input.Body.fetchSchedule.fetchUrl == STRING
    input.Body.fetchSchedule.hour == INTEGER
    input.Body.fetchSchedule.minuteOfHour == INTEGER
    input.Body.fetchSchedule.password == STRING
    input.Body.fetchSchedule.paused == BOOLEAN
    input.Body.fetchSchedule.timeZone == STRING
    input.Body.fetchSchedule.username == STRING
    input.Body.fetchSchedule.weekday == STRING
    input.Body.fileName == STRING
    input.Body.format.columnDelimiter == STRING
    input.Body.format.fileEncoding == STRING
    input.Body.format.quotingMode == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.targets[_].country == STRING
    input.Body.targets[_].excludedDestinations[_] == STRING
    input.Body.targets[_].feedLabel == STRING
    input.Body.targets[_].includedDestinations[_] == STRING
    input.Body.targets[_].language == STRING
    input.Body.targets[_].targetCountries[_] == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeeds.update

valid {
    input.Body.attributeLanguage == STRING
    input.Body.contentType == STRING
    input.Body.fetchSchedule.dayOfMonth == INTEGER
    input.Body.fetchSchedule.fetchUrl == STRING
    input.Body.fetchSchedule.hour == INTEGER
    input.Body.fetchSchedule.minuteOfHour == INTEGER
    input.Body.fetchSchedule.password == STRING
    input.Body.fetchSchedule.paused == BOOLEAN
    input.Body.fetchSchedule.timeZone == STRING
    input.Body.fetchSchedule.username == STRING
    input.Body.fetchSchedule.weekday == STRING
    input.Body.fileName == STRING
    input.Body.format.columnDelimiter == STRING
    input.Body.format.fileEncoding == STRING
    input.Body.format.quotingMode == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.targets[_].country == STRING
    input.Body.targets[_].excludedDestinations[_] == STRING
    input.Body.targets[_].feedLabel == STRING
    input.Body.targets[_].includedDestinations[_] == STRING
    input.Body.targets[_].language == STRING
    input.Body.targets[_].targetCountries[_] == STRING
    input.ReqMap.datafeedId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeedstatuses.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].country == STRING
    input.Body.entries[_].datafeedId == STRING
    input.Body.entries[_].feedLabel == STRING
    input.Body.entries[_].language == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeedstatuses.get

valid {
    input.ReqMap.datafeedId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.country == STRING
    input.Qs.feedLabel == STRING
    input.Qs.language == STRING
    input.ProviderMetadata.Region == STRING
}

content.datafeedstatuses.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.freelistingsprogram.checkoutsettings.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.freelistingsprogram.checkoutsettings.get

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.freelistingsprogram.checkoutsettings.insert

valid {
    input.Body.uriSettings.cartUriTemplate == STRING
    input.Body.uriSettings.checkoutUriTemplate == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.freelistingsprogram.get

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.freelistingsprogram.requestreview

valid {
    input.Body.regionCode == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.custombatch

valid {
    input.Body.entries[_].accountId == STRING
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].contactEmail == STRING
    input.Body.entries[_].contactName == STRING
    input.Body.entries[_].country == STRING
    input.Body.entries[_].gmbEmail == STRING
    input.Body.entries[_].liaSettings.accountId == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].about.status == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].about.url == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].country == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].hostedLocalStorefrontActive == BOOLEAN
    input.Body.entries[_].liaSettings.countrySettings[_].inventory.inventoryVerificationContactEmail == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].inventory.inventoryVerificationContactName == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].inventory.inventoryVerificationContactStatus == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].inventory.status == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].omnichannelExperience.country == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].omnichannelExperience.lsfType == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].omnichannelExperience.pickupTypes[_] == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].onDisplayToOrder.shippingCostPolicyUrl == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].onDisplayToOrder.status == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].posDataProvider.posDataProviderId == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].posDataProvider.posExternalAccountId == STRING
    input.Body.entries[_].liaSettings.countrySettings[_].storePickupActive == BOOLEAN
    input.Body.entries[_].liaSettings.kind == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].omnichannelExperience.country == STRING
    input.Body.entries[_].omnichannelExperience.lsfType == STRING
    input.Body.entries[_].omnichannelExperience.pickupTypes[_] == STRING
    input.Body.entries[_].posDataProviderId == STRING
    input.Body.entries[_].posExternalAccountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.get

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.getaccessiblegmbaccounts

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.listposdataproviders

valid {
    input.ProviderMetadata.Region == STRING
}

content.liasettings.requestgmbaccess

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.gmbEmail == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.requestinventoryverification

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.country == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.setinventoryverificationcontact

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.contactEmail == STRING
    input.Qs.contactName == STRING
    input.Qs.country == STRING
    input.Qs.language == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.setomnichannelexperience

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.country == STRING
    input.Qs.lsfType == STRING
    input.Qs.pickupTypes == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.setposdataprovider

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.country == STRING
    input.Qs.posDataProviderId == STRING
    input.Qs.posExternalAccountId == STRING
    input.ProviderMetadata.Region == STRING
}

content.liasettings.update

valid {
    input.Body.accountId == STRING
    input.Body.countrySettings[_].about.status == STRING
    input.Body.countrySettings[_].about.url == STRING
    input.Body.countrySettings[_].country == STRING
    input.Body.countrySettings[_].hostedLocalStorefrontActive == BOOLEAN
    input.Body.countrySettings[_].inventory.inventoryVerificationContactEmail == STRING
    input.Body.countrySettings[_].inventory.inventoryVerificationContactName == STRING
    input.Body.countrySettings[_].inventory.inventoryVerificationContactStatus == STRING
    input.Body.countrySettings[_].inventory.status == STRING
    input.Body.countrySettings[_].omnichannelExperience.country == STRING
    input.Body.countrySettings[_].omnichannelExperience.lsfType == STRING
    input.Body.countrySettings[_].omnichannelExperience.pickupTypes[_] == STRING
    input.Body.countrySettings[_].onDisplayToOrder.shippingCostPolicyUrl == STRING
    input.Body.countrySettings[_].onDisplayToOrder.status == STRING
    input.Body.countrySettings[_].posDataProvider.posDataProviderId == STRING
    input.Body.countrySettings[_].posDataProvider.posExternalAccountId == STRING
    input.Body.countrySettings[_].storePickupActive == BOOLEAN
    input.Body.kind == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.localinventory.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].localInventory.availability == STRING
    input.Body.entries[_].localInventory.customAttributes[_].groupValues[_] == NESTED
    input.Body.entries[_].localInventory.customAttributes[_].name == STRING
    input.Body.entries[_].localInventory.customAttributes[_].value == STRING
    input.Body.entries[_].localInventory.instoreProductLocation == STRING
    input.Body.entries[_].localInventory.kind == STRING
    input.Body.entries[_].localInventory.pickupMethod == STRING
    input.Body.entries[_].localInventory.pickupSla == STRING
    input.Body.entries[_].localInventory.price.currency == STRING
    input.Body.entries[_].localInventory.price.value == STRING
    input.Body.entries[_].localInventory.quantity == INTEGER
    input.Body.entries[_].localInventory.salePrice.currency == STRING
    input.Body.entries[_].localInventory.salePrice.value == STRING
    input.Body.entries[_].localInventory.salePriceEffectiveDate == STRING
    input.Body.entries[_].localInventory.storeCode == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.localinventory.insert

valid {
    input.Body.availability == STRING
    input.Body.customAttributes[_].groupValues[_] == NESTED
    input.Body.customAttributes[_].name == STRING
    input.Body.customAttributes[_].value == STRING
    input.Body.instoreProductLocation == STRING
    input.Body.kind == STRING
    input.Body.pickupMethod == STRING
    input.Body.pickupSla == STRING
    input.Body.price.currency == STRING
    input.Body.price.value == STRING
    input.Body.quantity == INTEGER
    input.Body.salePrice.currency == STRING
    input.Body.salePrice.value == STRING
    input.Body.salePriceEffectiveDate == STRING
    input.Body.storeCode == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.merchantsupport.renderaccountissues

enum_RenderAccountIssuesRequestPayloadContentOption := [ "CONTENT_OPTION_UNSPECIFIED", "PRE_RENDERED_HTML" ]
enum_RenderAccountIssuesRequestPayloadUserInputActionOption := [ "USER_INPUT_ACTION_RENDERING_OPTION_UNSPECIFIED", "REDIRECT_TO_MERCHANT_CENTER", "BUILT_IN_USER_INPUT_ACTIONS" ]

valid {
    input.Body.contentOption == enum_RenderAccountIssuesRequestPayloadContentOption[_]
    input.Body.userInputActionOption == enum_RenderAccountIssuesRequestPayloadUserInputActionOption[_]
    input.ReqMap.merchantId == STRING
    input.Qs.languageCode == STRING
    input.Qs.timeZone == STRING
    input.ProviderMetadata.Region == STRING
}

content.merchantsupport.renderproductissues

enum_RenderProductIssuesRequestPayloadContentOption := [ "CONTENT_OPTION_UNSPECIFIED", "PRE_RENDERED_HTML" ]
enum_RenderProductIssuesRequestPayloadUserInputActionOption := [ "USER_INPUT_ACTION_RENDERING_OPTION_UNSPECIFIED", "REDIRECT_TO_MERCHANT_CENTER", "BUILT_IN_USER_INPUT_ACTIONS" ]

valid {
    input.Body.contentOption == enum_RenderProductIssuesRequestPayloadContentOption[_]
    input.Body.userInputActionOption == enum_RenderProductIssuesRequestPayloadUserInputActionOption[_]
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.Qs.languageCode == STRING
    input.Qs.timeZone == STRING
    input.ProviderMetadata.Region == STRING
}

content.merchantsupport.triggeraction

valid {
    input.Body.actionContext == STRING
    input.Body.actionInput.actionFlowId == STRING
    input.Body.actionInput.inputValues[_].checkboxInputValue.value == BOOLEAN
    input.Body.actionInput.inputValues[_].choiceInputValue.choiceInputOptionId == STRING
    input.Body.actionInput.inputValues[_].inputFieldId == STRING
    input.Body.actionInput.inputValues[_].textInputValue.value == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.languageCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderinvoices.createchargeinvoice

valid {
    input.Body.invoiceId == STRING
    input.Body.invoiceSummary.additionalChargeSummaries[_].totalAmount.priceAmount.currency == STRING
    input.Body.invoiceSummary.additionalChargeSummaries[_].totalAmount.priceAmount.value == STRING
    input.Body.invoiceSummary.additionalChargeSummaries[_].totalAmount.taxAmount.currency == STRING
    input.Body.invoiceSummary.additionalChargeSummaries[_].totalAmount.taxAmount.value == STRING
    input.Body.invoiceSummary.additionalChargeSummaries[_].type == STRING
    input.Body.invoiceSummary.productTotal.priceAmount.currency == STRING
    input.Body.invoiceSummary.productTotal.priceAmount.value == STRING
    input.Body.invoiceSummary.productTotal.taxAmount.currency == STRING
    input.Body.invoiceSummary.productTotal.taxAmount.value == STRING
    input.Body.lineItemInvoices[_].lineItemId == STRING
    input.Body.lineItemInvoices[_].productId == STRING
    input.Body.lineItemInvoices[_].shipmentUnitIds[_] == STRING
    input.Body.lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.priceAmount.currency == STRING
    input.Body.lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.priceAmount.value == STRING
    input.Body.lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.taxAmount.currency == STRING
    input.Body.lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.taxAmount.value == STRING
    input.Body.lineItemInvoices[_].unitInvoice.additionalCharges[_].type == STRING
    input.Body.lineItemInvoices[_].unitInvoice.unitPrice.currency == STRING
    input.Body.lineItemInvoices[_].unitInvoice.unitPrice.value == STRING
    input.Body.lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxAmount.currency == STRING
    input.Body.lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxAmount.value == STRING
    input.Body.lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxName == STRING
    input.Body.lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxType == STRING
    input.Body.operationId == STRING
    input.Body.shipmentGroupId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderinvoices.createrefundinvoice

valid {
    input.Body.invoiceId == STRING
    input.Body.operationId == STRING
    input.Body.refundOnlyOption.description == STRING
    input.Body.refundOnlyOption.reason == STRING
    input.Body.returnOption.description == STRING
    input.Body.returnOption.reason == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.additionalChargeSummaries[_].totalAmount.priceAmount.currency == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.additionalChargeSummaries[_].totalAmount.priceAmount.value == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.additionalChargeSummaries[_].totalAmount.taxAmount.currency == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.additionalChargeSummaries[_].totalAmount.taxAmount.value == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.additionalChargeSummaries[_].type == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.productTotal.priceAmount.currency == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.productTotal.priceAmount.value == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.productTotal.taxAmount.currency == STRING
    input.Body.shipmentInvoices[_].invoiceSummary.productTotal.taxAmount.value == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].lineItemId == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].productId == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].shipmentUnitIds[_] == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.priceAmount.currency == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.priceAmount.value == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.taxAmount.currency == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.additionalCharges[_].additionalChargeAmount.taxAmount.value == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.additionalCharges[_].type == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.unitPrice.currency == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.unitPrice.value == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxAmount.currency == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxAmount.value == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxName == STRING
    input.Body.shipmentInvoices[_].lineItemInvoices[_].unitInvoice.unitPriceTaxes[_].taxType == STRING
    input.Body.shipmentInvoices[_].shipmentGroupId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderpayments.notifyauthapproved

valid {
    input.Body.authAmountPretax.currency == STRING
    input.Body.authAmountPretax.value == STRING
    input.Body.authAmountTax.currency == STRING
    input.Body.authAmountTax.value == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderpayments.notifyauthdeclined

valid {
    input.Body.declineReason == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderpayments.notifycharge

valid {
    input.Body.chargeState == STRING
    input.Body.invoiceId == STRING
    input.Body.invoiceIds[_] == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderpayments.notifyrefund

valid {
    input.Body.invoiceId == STRING
    input.Body.invoiceIds[_] == STRING
    input.Body.refundState == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreports.listdisbursements

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.disbursementEndDate == STRING
    input.Qs.disbursementStartDate == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreports.listtransactions

valid {
    input.ReqMap.disbursementId == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.transactionEndDate == STRING
    input.Qs.transactionStartDate == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreturns.acknowledge

valid {
    input.Body.operationId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreturns.createorderreturn

valid {
    input.Body.lineItems[_].lineItemId == STRING
    input.Body.lineItems[_].productId == STRING
    input.Body.lineItems[_].quantity == INTEGER
    input.Body.operationId == STRING
    input.Body.orderId == STRING
    input.Body.returnMethodType == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreturns.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreturns.labels.create

valid {
    input.Body.carrier == STRING
    input.Body.labelUri == STRING
    input.Body.trackingId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orderreturns.list

enum_OrderByParameter := [ "RETURN_CREATION_TIME_DESC", "RETURN_CREATION_TIME_ASC" ]
enum_ShipmentStatesParameter := [ "NEW", "SHIPPED", "COMPLETED", "UNDELIVERABLE", "PENDING" ]
enum_ShipmentStatusParameter := [ "NEW", "IN_PROGRESS", "PROCESSED" ]
enum_ShipmentTypesParameter := [ "BY_MAIL", "RETURNLESS", "CONTACT_CUSTOMER_SUPPORT" ]

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.acknowledged == BOOLEAN
    input.Qs.createdEndDate == STRING
    input.Qs.createdStartDate == STRING
    input.Qs.googleOrderIds == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.orderBy == enum_OrderByParameter[_]
    input.Qs.pageToken == STRING
    input.Qs.shipmentStates == enum_ShipmentStatesParameter[_]
    input.Qs.shipmentStatus == enum_ShipmentStatusParameter[_]
    input.Qs.shipmentTrackingNumbers == STRING
    input.Qs.shipmentTypes == enum_ShipmentTypesParameter[_]
    input.ProviderMetadata.Region == STRING
}

content.orderreturns.process

valid {
    input.Body.fullChargeReturnShippingCost == BOOLEAN
    input.Body.operationId == STRING
    input.Body.refundShippingFee.fullRefund == BOOLEAN
    input.Body.refundShippingFee.partialRefund.priceAmount.currency == STRING
    input.Body.refundShippingFee.partialRefund.priceAmount.value == STRING
    input.Body.refundShippingFee.partialRefund.taxAmount.currency == STRING
    input.Body.refundShippingFee.partialRefund.taxAmount.value == STRING
    input.Body.refundShippingFee.paymentType == STRING
    input.Body.refundShippingFee.reasonText == STRING
    input.Body.refundShippingFee.returnRefundReason == STRING
    input.Body.returnItems[_].refund.fullRefund == BOOLEAN
    input.Body.returnItems[_].refund.partialRefund.priceAmount.currency == STRING
    input.Body.returnItems[_].refund.partialRefund.priceAmount.value == STRING
    input.Body.returnItems[_].refund.partialRefund.taxAmount.currency == STRING
    input.Body.returnItems[_].refund.partialRefund.taxAmount.value == STRING
    input.Body.returnItems[_].refund.paymentType == STRING
    input.Body.returnItems[_].refund.reasonText == STRING
    input.Body.returnItems[_].refund.returnRefundReason == STRING
    input.Body.returnItems[_].reject.reason == STRING
    input.Body.returnItems[_].reject.reasonText == STRING
    input.Body.returnItems[_].returnItemId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.acknowledge

valid {
    input.Body.operationId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.advancetestorder

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.cancel

valid {
    input.Body.operationId == STRING
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.cancellineitem

valid {
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.productId == STRING
    input.Body.quantity == INTEGER
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.canceltestorderbycustomer

valid {
    input.Body.reason == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.captureOrder

valid {
    input.Body.STRING == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.createtestorder

valid {
    input.Body.country == STRING
    input.Body.templateName == STRING
    input.Body.testOrder.deliveryDetails.address.country == STRING
    input.Body.testOrder.deliveryDetails.address.fullAddress[_] == STRING
    input.Body.testOrder.deliveryDetails.address.isPostOfficeBox == BOOLEAN
    input.Body.testOrder.deliveryDetails.address.locality == STRING
    input.Body.testOrder.deliveryDetails.address.postalCode == STRING
    input.Body.testOrder.deliveryDetails.address.recipientName == STRING
    input.Body.testOrder.deliveryDetails.address.region == STRING
    input.Body.testOrder.deliveryDetails.address.streetAddress[_] == STRING
    input.Body.testOrder.deliveryDetails.isScheduledDelivery == BOOLEAN
    input.Body.testOrder.deliveryDetails.phoneNumber == STRING
    input.Body.testOrder.enableOrderinvoices == BOOLEAN
    input.Body.testOrder.kind == STRING
    input.Body.testOrder.lineItems[_].product.brand == STRING
    input.Body.testOrder.lineItems[_].product.condition == STRING
    input.Body.testOrder.lineItems[_].product.contentLanguage == STRING
    input.Body.testOrder.lineItems[_].product.fees[_].amount.currency == STRING
    input.Body.testOrder.lineItems[_].product.fees[_].amount.value == STRING
    input.Body.testOrder.lineItems[_].product.fees[_].name == STRING
    input.Body.testOrder.lineItems[_].product.gtin == STRING
    input.Body.testOrder.lineItems[_].product.imageLink == STRING
    input.Body.testOrder.lineItems[_].product.itemGroupId == STRING
    input.Body.testOrder.lineItems[_].product.mpn == STRING
    input.Body.testOrder.lineItems[_].product.offerId == STRING
    input.Body.testOrder.lineItems[_].product.price.currency == STRING
    input.Body.testOrder.lineItems[_].product.price.value == STRING
    input.Body.testOrder.lineItems[_].product.targetCountry == STRING
    input.Body.testOrder.lineItems[_].product.title == STRING
    input.Body.testOrder.lineItems[_].product.variantAttributes[_].dimension == STRING
    input.Body.testOrder.lineItems[_].product.variantAttributes[_].value == STRING
    input.Body.testOrder.lineItems[_].quantityOrdered == INTEGER
    input.Body.testOrder.lineItems[_].returnInfo.daysToReturn == INTEGER
    input.Body.testOrder.lineItems[_].returnInfo.isReturnable == BOOLEAN
    input.Body.testOrder.lineItems[_].returnInfo.policyUrl == STRING
    input.Body.testOrder.lineItems[_].shippingDetails.deliverByDate == STRING
    input.Body.testOrder.lineItems[_].shippingDetails.method.carrier == STRING
    input.Body.testOrder.lineItems[_].shippingDetails.method.maxDaysInTransit == INTEGER
    input.Body.testOrder.lineItems[_].shippingDetails.method.methodName == STRING
    input.Body.testOrder.lineItems[_].shippingDetails.method.minDaysInTransit == INTEGER
    input.Body.testOrder.lineItems[_].shippingDetails.pickupPromiseInMinutes == INTEGER
    input.Body.testOrder.lineItems[_].shippingDetails.shipByDate == STRING
    input.Body.testOrder.lineItems[_].shippingDetails.type == STRING
    input.Body.testOrder.notificationMode == STRING
    input.Body.testOrder.pickupDetails.locationCode == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.country == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.fullAddress[_] == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.isPostOfficeBox == BOOLEAN
    input.Body.testOrder.pickupDetails.pickupLocationAddress.locality == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.postalCode == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.recipientName == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.region == STRING
    input.Body.testOrder.pickupDetails.pickupLocationAddress.streetAddress[_] == STRING
    input.Body.testOrder.pickupDetails.pickupLocationType == STRING
    input.Body.testOrder.pickupDetails.pickupPersons[_].name == STRING
    input.Body.testOrder.pickupDetails.pickupPersons[_].phoneNumber == STRING
    input.Body.testOrder.predefinedBillingAddress == STRING
    input.Body.testOrder.predefinedDeliveryAddress == STRING
    input.Body.testOrder.predefinedEmail == STRING
    input.Body.testOrder.predefinedPickupDetails == STRING
    input.Body.testOrder.promotions[_].applicableItems[_].lineItemId == STRING
    input.Body.testOrder.promotions[_].applicableItems[_].offerId == STRING
    input.Body.testOrder.promotions[_].applicableItems[_].productId == STRING
    input.Body.testOrder.promotions[_].applicableItems[_].quantity == INTEGER
    input.Body.testOrder.promotions[_].appliedItems[_].lineItemId == STRING
    input.Body.testOrder.promotions[_].appliedItems[_].offerId == STRING
    input.Body.testOrder.promotions[_].appliedItems[_].productId == STRING
    input.Body.testOrder.promotions[_].appliedItems[_].quantity == INTEGER
    input.Body.testOrder.promotions[_].endTime == STRING
    input.Body.testOrder.promotions[_].funder == STRING
    input.Body.testOrder.promotions[_].merchantPromotionId == STRING
    input.Body.testOrder.promotions[_].priceValue.currency == STRING
    input.Body.testOrder.promotions[_].priceValue.value == STRING
    input.Body.testOrder.promotions[_].shortTitle == STRING
    input.Body.testOrder.promotions[_].startTime == STRING
    input.Body.testOrder.promotions[_].subtype == STRING
    input.Body.testOrder.promotions[_].taxValue.currency == STRING
    input.Body.testOrder.promotions[_].taxValue.value == STRING
    input.Body.testOrder.promotions[_].title == STRING
    input.Body.testOrder.promotions[_].type == STRING
    input.Body.testOrder.shippingCost.currency == STRING
    input.Body.testOrder.shippingCost.value == STRING
    input.Body.testOrder.shippingOption == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.createtestreturn

valid {
    input.Body.items[_].lineItemId == STRING
    input.Body.items[_].quantity == INTEGER
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].cancel.reason == STRING
    input.Body.entries[_].cancel.reasonText == STRING
    input.Body.entries[_].cancelLineItem.amount.currency == STRING
    input.Body.entries[_].cancelLineItem.amount.value == STRING
    input.Body.entries[_].cancelLineItem.amountPretax.currency == STRING
    input.Body.entries[_].cancelLineItem.amountPretax.value == STRING
    input.Body.entries[_].cancelLineItem.amountTax.currency == STRING
    input.Body.entries[_].cancelLineItem.amountTax.value == STRING
    input.Body.entries[_].cancelLineItem.lineItemId == STRING
    input.Body.entries[_].cancelLineItem.productId == STRING
    input.Body.entries[_].cancelLineItem.quantity == INTEGER
    input.Body.entries[_].cancelLineItem.reason == STRING
    input.Body.entries[_].cancelLineItem.reasonText == STRING
    input.Body.entries[_].inStoreRefundLineItem.amountPretax.currency == STRING
    input.Body.entries[_].inStoreRefundLineItem.amountPretax.value == STRING
    input.Body.entries[_].inStoreRefundLineItem.amountTax.currency == STRING
    input.Body.entries[_].inStoreRefundLineItem.amountTax.value == STRING
    input.Body.entries[_].inStoreRefundLineItem.lineItemId == STRING
    input.Body.entries[_].inStoreRefundLineItem.productId == STRING
    input.Body.entries[_].inStoreRefundLineItem.quantity == INTEGER
    input.Body.entries[_].inStoreRefundLineItem.reason == STRING
    input.Body.entries[_].inStoreRefundLineItem.reasonText == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].merchantOrderId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].operationId == STRING
    input.Body.entries[_].orderId == STRING
    input.Body.entries[_].refund.amount.currency == STRING
    input.Body.entries[_].refund.amount.value == STRING
    input.Body.entries[_].refund.amountPretax.currency == STRING
    input.Body.entries[_].refund.amountPretax.value == STRING
    input.Body.entries[_].refund.amountTax.currency == STRING
    input.Body.entries[_].refund.amountTax.value == STRING
    input.Body.entries[_].refund.reason == STRING
    input.Body.entries[_].refund.reasonText == STRING
    input.Body.entries[_].rejectReturnLineItem.lineItemId == STRING
    input.Body.entries[_].rejectReturnLineItem.productId == STRING
    input.Body.entries[_].rejectReturnLineItem.quantity == INTEGER
    input.Body.entries[_].rejectReturnLineItem.reason == STRING
    input.Body.entries[_].rejectReturnLineItem.reasonText == STRING
    input.Body.entries[_].returnLineItem.lineItemId == STRING
    input.Body.entries[_].returnLineItem.productId == STRING
    input.Body.entries[_].returnLineItem.quantity == INTEGER
    input.Body.entries[_].returnLineItem.reason == STRING
    input.Body.entries[_].returnLineItem.reasonText == STRING
    input.Body.entries[_].returnRefundLineItem.amountPretax.currency == STRING
    input.Body.entries[_].returnRefundLineItem.amountPretax.value == STRING
    input.Body.entries[_].returnRefundLineItem.amountTax.currency == STRING
    input.Body.entries[_].returnRefundLineItem.amountTax.value == STRING
    input.Body.entries[_].returnRefundLineItem.lineItemId == STRING
    input.Body.entries[_].returnRefundLineItem.productId == STRING
    input.Body.entries[_].returnRefundLineItem.quantity == INTEGER
    input.Body.entries[_].returnRefundLineItem.reason == STRING
    input.Body.entries[_].returnRefundLineItem.reasonText == STRING
    input.Body.entries[_].setLineItemMetadata.annotations[_].key == STRING
    input.Body.entries[_].setLineItemMetadata.annotations[_].value == STRING
    input.Body.entries[_].setLineItemMetadata.lineItemId == STRING
    input.Body.entries[_].setLineItemMetadata.productId == STRING
    input.Body.entries[_].shipLineItems.carrier == STRING
    input.Body.entries[_].shipLineItems.lineItems[_].lineItemId == STRING
    input.Body.entries[_].shipLineItems.lineItems[_].productId == STRING
    input.Body.entries[_].shipLineItems.lineItems[_].quantity == INTEGER
    input.Body.entries[_].shipLineItems.shipmentGroupId == STRING
    input.Body.entries[_].shipLineItems.shipmentId == STRING
    input.Body.entries[_].shipLineItems.shipmentInfos[_].carrier == STRING
    input.Body.entries[_].shipLineItems.shipmentInfos[_].shipmentId == STRING
    input.Body.entries[_].shipLineItems.shipmentInfos[_].trackingId == STRING
    input.Body.entries[_].shipLineItems.trackingId == STRING
    input.Body.entries[_].updateLineItemShippingDetails.deliverByDate == STRING
    input.Body.entries[_].updateLineItemShippingDetails.lineItemId == STRING
    input.Body.entries[_].updateLineItemShippingDetails.productId == STRING
    input.Body.entries[_].updateLineItemShippingDetails.shipByDate == STRING
    input.Body.entries[_].updateShipment.carrier == STRING
    input.Body.entries[_].updateShipment.deliveryDate == STRING
    input.Body.entries[_].updateShipment.shipmentId == STRING
    input.Body.entries[_].updateShipment.status == STRING
    input.Body.entries[_].updateShipment.trackingId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.getbymerchantorderid

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.merchantOrderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.gettestordertemplate

enum_TemplateNameParameter := [ "TEMPLATE1", "TEMPLATE2", "TEMPLATE1A", "TEMPLATE1B", "TEMPLATE3", "TEMPLATE4" ]

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.templateName == enum_TemplateNameParameter[_]
    input.Qs.country == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.instorerefundlineitem

valid {
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.priceAmount.currency == STRING
    input.Body.priceAmount.value == STRING
    input.Body.productId == STRING
    input.Body.quantity == INTEGER
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.Body.taxAmount.currency == STRING
    input.Body.taxAmount.value == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.list

enum_StatusesParameter := [ "ACTIVE", "COMPLETED", "CANCELED", "IN_PROGRESS", "PENDING_SHIPMENT", "PARTIALLY_SHIPPED", "SHIPPED", "PARTIALLY_DELIVERED", "DELIVERED", "PARTIALLY_RETURNED", "RETURNED" ]

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.acknowledged == BOOLEAN
    input.Qs.maxResults == INTEGER
    input.Qs.orderBy == STRING
    input.Qs.pageToken == STRING
    input.Qs.placedDateEnd == STRING
    input.Qs.placedDateStart == STRING
    input.Qs.statuses == enum_StatusesParameter[_]
    input.ProviderMetadata.Region == STRING
}

content.orders.refund

valid {
    input.Body.amount.currency == STRING
    input.Body.amount.value == STRING
    input.Body.amountPretax.currency == STRING
    input.Body.amountPretax.value == STRING
    input.Body.amountTax.currency == STRING
    input.Body.amountTax.value == STRING
    input.Body.operationId == STRING
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.refunditem

valid {
    input.Body.items[_].amount.priceAmount.currency == STRING
    input.Body.items[_].amount.priceAmount.value == STRING
    input.Body.items[_].amount.taxAmount.currency == STRING
    input.Body.items[_].amount.taxAmount.value == STRING
    input.Body.items[_].fullRefund == BOOLEAN
    input.Body.items[_].lineItemId == STRING
    input.Body.items[_].productId == STRING
    input.Body.items[_].quantity == INTEGER
    input.Body.operationId == STRING
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.Body.shipping.amount.currency == STRING
    input.Body.shipping.amount.value == STRING
    input.Body.shipping.fullRefund == BOOLEAN
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.refundorder

valid {
    input.Body.amount.priceAmount.currency == STRING
    input.Body.amount.priceAmount.value == STRING
    input.Body.amount.taxAmount.currency == STRING
    input.Body.amount.taxAmount.value == STRING
    input.Body.fullRefund == BOOLEAN
    input.Body.operationId == STRING
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.rejectreturnlineitem

valid {
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.productId == STRING
    input.Body.quantity == INTEGER
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.returnlineitem

valid {
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.productId == STRING
    input.Body.quantity == INTEGER
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.returnrefundlineitem

valid {
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.priceAmount.currency == STRING
    input.Body.priceAmount.value == STRING
    input.Body.productId == STRING
    input.Body.quantity == INTEGER
    input.Body.reason == STRING
    input.Body.reasonText == STRING
    input.Body.taxAmount.currency == STRING
    input.Body.taxAmount.value == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.setlineitemmetadata

valid {
    input.Body.annotations[_].key == STRING
    input.Body.annotations[_].value == STRING
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.productId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.shiplineitems

valid {
    input.Body.lineItems[_].lineItemId == STRING
    input.Body.lineItems[_].productId == STRING
    input.Body.lineItems[_].quantity == INTEGER
    input.Body.operationId == STRING
    input.Body.shipmentGroupId == STRING
    input.Body.shipmentInfos[_].carrier == STRING
    input.Body.shipmentInfos[_].shipmentId == STRING
    input.Body.shipmentInfos[_].trackingId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.updatelineitemshippingdetails

valid {
    input.Body.deliverByDate == STRING
    input.Body.lineItemId == STRING
    input.Body.operationId == STRING
    input.Body.productId == STRING
    input.Body.shipByDate == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.updatemerchantorderid

valid {
    input.Body.merchantOrderId == STRING
    input.Body.operationId == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.orders.updateshipment

valid {
    input.Body.carrier == STRING
    input.Body.deliveryDate == STRING
    input.Body.lastPickupDate == STRING
    input.Body.operationId == STRING
    input.Body.readyPickupDate == STRING
    input.Body.scheduledDeliveryDetails.carrierPhoneNumber == STRING
    input.Body.scheduledDeliveryDetails.scheduledDate == STRING
    input.Body.shipmentId == STRING
    input.Body.status == STRING
    input.Body.trackingId == STRING
    input.Body.undeliveredDate == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.orderId == STRING
    input.ProviderMetadata.Region == STRING
}

content.ordertrackingsignals.create

enum_OrderTrackingSignalShippingInfoShippingStatus := [ "SHIPPING_STATE_UNSPECIFIED", "SHIPPED", "DELIVERED" ]

valid {
    input.Body.customerShippingFee.currency == STRING
    input.Body.customerShippingFee.value == STRING
    input.Body.deliveryPostalCode == STRING
    input.Body.deliveryRegionCode == STRING
    input.Body.lineItems[_].brand == STRING
    input.Body.lineItems[_].gtin == STRING
    input.Body.lineItems[_].lineItemId == STRING
    input.Body.lineItems[_].mpn == STRING
    input.Body.lineItems[_].productDescription == STRING
    input.Body.lineItems[_].productId == STRING
    input.Body.lineItems[_].productTitle == STRING
    input.Body.lineItems[_].quantity == STRING
    input.Body.lineItems[_].sku == STRING
    input.Body.lineItems[_].upc == STRING
    input.Body.merchantId == STRING
    input.Body.orderCreatedTime.day == INTEGER
    input.Body.orderCreatedTime.hours == INTEGER
    input.Body.orderCreatedTime.minutes == INTEGER
    input.Body.orderCreatedTime.month == INTEGER
    input.Body.orderCreatedTime.nanos == INTEGER
    input.Body.orderCreatedTime.seconds == INTEGER
    input.Body.orderCreatedTime.timeZone.id == STRING
    input.Body.orderCreatedTime.timeZone.version == STRING
    input.Body.orderCreatedTime.utcOffset == STRING
    input.Body.orderCreatedTime.year == INTEGER
    input.Body.orderId == STRING
    input.Body.shipmentLineItemMapping[_].lineItemId == STRING
    input.Body.shipmentLineItemMapping[_].quantity == STRING
    input.Body.shipmentLineItemMapping[_].shipmentId == STRING
    input.Body.shippingInfo[_].actualDeliveryTime.day == INTEGER
    input.Body.shippingInfo[_].actualDeliveryTime.hours == INTEGER
    input.Body.shippingInfo[_].actualDeliveryTime.minutes == INTEGER
    input.Body.shippingInfo[_].actualDeliveryTime.month == INTEGER
    input.Body.shippingInfo[_].actualDeliveryTime.nanos == INTEGER
    input.Body.shippingInfo[_].actualDeliveryTime.seconds == INTEGER
    input.Body.shippingInfo[_].actualDeliveryTime.timeZone.id == STRING
    input.Body.shippingInfo[_].actualDeliveryTime.timeZone.version == STRING
    input.Body.shippingInfo[_].actualDeliveryTime.utcOffset == STRING
    input.Body.shippingInfo[_].actualDeliveryTime.year == INTEGER
    input.Body.shippingInfo[_].carrierName == STRING
    input.Body.shippingInfo[_].carrierServiceName == STRING
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.day == INTEGER
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.hours == INTEGER
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.minutes == INTEGER
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.month == INTEGER
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.nanos == INTEGER
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.seconds == INTEGER
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.timeZone.id == STRING
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.timeZone.version == STRING
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.utcOffset == STRING
    input.Body.shippingInfo[_].earliestDeliveryPromiseTime.year == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.day == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.hours == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.minutes == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.month == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.nanos == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.seconds == INTEGER
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.timeZone.id == STRING
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.timeZone.version == STRING
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.utcOffset == STRING
    input.Body.shippingInfo[_].latestDeliveryPromiseTime.year == INTEGER
    input.Body.shippingInfo[_].originPostalCode == STRING
    input.Body.shippingInfo[_].originRegionCode == STRING
    input.Body.shippingInfo[_].shipmentId == STRING
    input.Body.shippingInfo[_].shippedTime.day == INTEGER
    input.Body.shippingInfo[_].shippedTime.hours == INTEGER
    input.Body.shippingInfo[_].shippedTime.minutes == INTEGER
    input.Body.shippingInfo[_].shippedTime.month == INTEGER
    input.Body.shippingInfo[_].shippedTime.nanos == INTEGER
    input.Body.shippingInfo[_].shippedTime.seconds == INTEGER
    input.Body.shippingInfo[_].shippedTime.timeZone.id == STRING
    input.Body.shippingInfo[_].shippedTime.timeZone.version == STRING
    input.Body.shippingInfo[_].shippedTime.utcOffset == STRING
    input.Body.shippingInfo[_].shippedTime.year == INTEGER
    input.Body.shippingInfo[_].shippingStatus == enum_OrderTrackingSignalShippingInfoShippingStatus[_]
    input.Body.shippingInfo[_].trackingId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].inventory.contentLanguage == STRING
    input.Body.entries[_].inventory.gtin == STRING
    input.Body.entries[_].inventory.itemId == STRING
    input.Body.entries[_].inventory.kind == STRING
    input.Body.entries[_].inventory.pickupMethod == STRING
    input.Body.entries[_].inventory.pickupSla == STRING
    input.Body.entries[_].inventory.price.currency == STRING
    input.Body.entries[_].inventory.price.value == STRING
    input.Body.entries[_].inventory.quantity == STRING
    input.Body.entries[_].inventory.storeCode == STRING
    input.Body.entries[_].inventory.targetCountry == STRING
    input.Body.entries[_].inventory.timestamp == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].sale.contentLanguage == STRING
    input.Body.entries[_].sale.gtin == STRING
    input.Body.entries[_].sale.itemId == STRING
    input.Body.entries[_].sale.kind == STRING
    input.Body.entries[_].sale.price.currency == STRING
    input.Body.entries[_].sale.price.value == STRING
    input.Body.entries[_].sale.quantity == STRING
    input.Body.entries[_].sale.saleId == STRING
    input.Body.entries[_].sale.storeCode == STRING
    input.Body.entries[_].sale.targetCountry == STRING
    input.Body.entries[_].sale.timestamp == STRING
    input.Body.entries[_].store.gcidCategory[_] == STRING
    input.Body.entries[_].store.kind == STRING
    input.Body.entries[_].store.phoneNumber == STRING
    input.Body.entries[_].store.placeId == STRING
    input.Body.entries[_].store.storeAddress == STRING
    input.Body.entries[_].store.storeCode == STRING
    input.Body.entries[_].store.storeName == STRING
    input.Body.entries[_].store.websiteUrl == STRING
    input.Body.entries[_].storeCode == STRING
    input.Body.entries[_].targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.storeCode == STRING
    input.ReqMap.targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.storeCode == STRING
    input.ReqMap.targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.insert

valid {
    input.Body.gcidCategory[_] == STRING
    input.Body.kind == STRING
    input.Body.phoneNumber == STRING
    input.Body.placeId == STRING
    input.Body.storeAddress == STRING
    input.Body.storeCode == STRING
    input.Body.storeName == STRING
    input.Body.websiteUrl == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.inventory

valid {
    input.Body.contentLanguage == STRING
    input.Body.gtin == STRING
    input.Body.itemId == STRING
    input.Body.pickupMethod == STRING
    input.Body.pickupSla == STRING
    input.Body.price.currency == STRING
    input.Body.price.value == STRING
    input.Body.quantity == STRING
    input.Body.storeCode == STRING
    input.Body.targetCountry == STRING
    input.Body.timestamp == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.list

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pos.sale

valid {
    input.Body.contentLanguage == STRING
    input.Body.gtin == STRING
    input.Body.itemId == STRING
    input.Body.price.currency == STRING
    input.Body.price.value == STRING
    input.Body.quantity == STRING
    input.Body.saleId == STRING
    input.Body.storeCode == STRING
    input.Body.targetCountry == STRING
    input.Body.timestamp == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.targetMerchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.productdeliverytime.create

valid {
    input.Body.areaDeliveryTimes[_].deliveryArea.countryCode == STRING
    input.Body.areaDeliveryTimes[_].deliveryArea.postalCodeRange.firstPostalCode == STRING
    input.Body.areaDeliveryTimes[_].deliveryArea.postalCodeRange.lastPostalCode == STRING
    input.Body.areaDeliveryTimes[_].deliveryArea.regionCode == STRING
    input.Body.areaDeliveryTimes[_].deliveryTime.maxHandlingTimeDays == INTEGER
    input.Body.areaDeliveryTimes[_].deliveryTime.maxTransitTimeDays == INTEGER
    input.Body.areaDeliveryTimes[_].deliveryTime.minHandlingTimeDays == INTEGER
    input.Body.areaDeliveryTimes[_].deliveryTime.minTransitTimeDays == INTEGER
    input.Body.productId.productId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.productdeliverytime.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.productdeliverytime.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.products.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].feedId == STRING
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].product.additionalImageLinks[_] == STRING
    input.Body.entries[_].product.additionalSizeType == STRING
    input.Body.entries[_].product.adsGrouping == STRING
    input.Body.entries[_].product.adsLabels[_] == STRING
    input.Body.entries[_].product.adsRedirect == STRING
    input.Body.entries[_].product.adult == BOOLEAN
    input.Body.entries[_].product.ageGroup == STRING
    input.Body.entries[_].product.autoPricingMinPrice.currency == STRING
    input.Body.entries[_].product.autoPricingMinPrice.value == STRING
    input.Body.entries[_].product.availability == STRING
    input.Body.entries[_].product.availabilityDate == STRING
    input.Body.entries[_].product.brand == STRING
    input.Body.entries[_].product.canonicalLink == STRING
    input.Body.entries[_].product.certifications[_].certificationAuthority == STRING
    input.Body.entries[_].product.certifications[_].certificationCode == STRING
    input.Body.entries[_].product.certifications[_].certificationName == STRING
    input.Body.entries[_].product.channel == STRING
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].boolValue == BOOLEAN
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].floatValue[_] == NUMBER
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].intValue[_] == STRING
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].maxValue == NUMBER
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].minValue == NUMBER
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].propertyName == STRING
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].textValue[_] == STRING
    input.Body.entries[_].product.cloudExportAdditionalProperties[_].unitCode == STRING
    input.Body.entries[_].product.color == STRING
    input.Body.entries[_].product.condition == STRING
    input.Body.entries[_].product.contentLanguage == STRING
    input.Body.entries[_].product.costOfGoodsSold.currency == STRING
    input.Body.entries[_].product.costOfGoodsSold.value == STRING
    input.Body.entries[_].product.customAttributes[_].groupValues[_] == NESTED
    input.Body.entries[_].product.customAttributes[_].name == STRING
    input.Body.entries[_].product.customAttributes[_].value == STRING
    input.Body.entries[_].product.customLabel0 == STRING
    input.Body.entries[_].product.customLabel1 == STRING
    input.Body.entries[_].product.customLabel2 == STRING
    input.Body.entries[_].product.customLabel3 == STRING
    input.Body.entries[_].product.customLabel4 == STRING
    input.Body.entries[_].product.description == STRING
    input.Body.entries[_].product.disclosureDate == STRING
    input.Body.entries[_].product.displayAdsId == STRING
    input.Body.entries[_].product.displayAdsLink == STRING
    input.Body.entries[_].product.displayAdsSimilarIds[_] == STRING
    input.Body.entries[_].product.displayAdsTitle == STRING
    input.Body.entries[_].product.displayAdsValue == NUMBER
    input.Body.entries[_].product.energyEfficiencyClass == STRING
    input.Body.entries[_].product.excludedDestinations[_] == STRING
    input.Body.entries[_].product.expirationDate == STRING
    input.Body.entries[_].product.externalSellerId == STRING
    input.Body.entries[_].product.feedLabel == STRING
    input.Body.entries[_].product.gender == STRING
    input.Body.entries[_].product.googleProductCategory == STRING
    input.Body.entries[_].product.gtin == STRING
    input.Body.entries[_].product.id == STRING
    input.Body.entries[_].product.identifierExists == BOOLEAN
    input.Body.entries[_].product.imageLink == STRING
    input.Body.entries[_].product.includedDestinations[_] == STRING
    input.Body.entries[_].product.installment.amount.currency == STRING
    input.Body.entries[_].product.installment.amount.value == STRING
    input.Body.entries[_].product.installment.months == STRING
    input.Body.entries[_].product.isBundle == BOOLEAN
    input.Body.entries[_].product.itemGroupId == STRING
    input.Body.entries[_].product.kind == STRING
    input.Body.entries[_].product.lifestyleImageLinks[_] == STRING
    input.Body.entries[_].product.link == STRING
    input.Body.entries[_].product.linkTemplate == STRING
    input.Body.entries[_].product.loyaltyProgram.cashbackForFutureUse.currency == STRING
    input.Body.entries[_].product.loyaltyProgram.cashbackForFutureUse.value == STRING
    input.Body.entries[_].product.loyaltyProgram.loyaltyPoints == STRING
    input.Body.entries[_].product.loyaltyProgram.price.currency == STRING
    input.Body.entries[_].product.loyaltyProgram.price.value == STRING
    input.Body.entries[_].product.loyaltyProgram.programLabel == STRING
    input.Body.entries[_].product.loyaltyProgram.tierLabel == STRING
    input.Body.entries[_].product.material == STRING
    input.Body.entries[_].product.maxEnergyEfficiencyClass == STRING
    input.Body.entries[_].product.maxHandlingTime == STRING
    input.Body.entries[_].product.minEnergyEfficiencyClass == STRING
    input.Body.entries[_].product.minHandlingTime == STRING
    input.Body.entries[_].product.mobileLink == STRING
    input.Body.entries[_].product.mobileLinkTemplate == STRING
    input.Body.entries[_].product.mpn == STRING
    input.Body.entries[_].product.multipack == STRING
    input.Body.entries[_].product.offerId == STRING
    input.Body.entries[_].product.pattern == STRING
    input.Body.entries[_].product.pause == STRING
    input.Body.entries[_].product.pickupMethod == STRING
    input.Body.entries[_].product.pickupSla == STRING
    input.Body.entries[_].product.price.currency == STRING
    input.Body.entries[_].product.price.value == STRING
    input.Body.entries[_].product.productDetails[_].attributeName == STRING
    input.Body.entries[_].product.productDetails[_].attributeValue == STRING
    input.Body.entries[_].product.productDetails[_].sectionName == STRING
    input.Body.entries[_].product.productHeight.unit == STRING
    input.Body.entries[_].product.productHeight.value == NUMBER
    input.Body.entries[_].product.productHighlights[_] == STRING
    input.Body.entries[_].product.productLength.unit == STRING
    input.Body.entries[_].product.productLength.value == NUMBER
    input.Body.entries[_].product.productTypes[_] == STRING
    input.Body.entries[_].product.productWeight.unit == STRING
    input.Body.entries[_].product.productWeight.value == NUMBER
    input.Body.entries[_].product.productWidth.unit == STRING
    input.Body.entries[_].product.productWidth.value == NUMBER
    input.Body.entries[_].product.promotionIds[_] == STRING
    input.Body.entries[_].product.salePrice.currency == STRING
    input.Body.entries[_].product.salePrice.value == STRING
    input.Body.entries[_].product.salePriceEffectiveDate == STRING
    input.Body.entries[_].product.sellOnGoogleQuantity == STRING
    input.Body.entries[_].product.shipping[_].country == STRING
    input.Body.entries[_].product.shipping[_].locationGroupName == STRING
    input.Body.entries[_].product.shipping[_].locationId == STRING
    input.Body.entries[_].product.shipping[_].maxHandlingTime == STRING
    input.Body.entries[_].product.shipping[_].maxTransitTime == STRING
    input.Body.entries[_].product.shipping[_].minHandlingTime == STRING
    input.Body.entries[_].product.shipping[_].minTransitTime == STRING
    input.Body.entries[_].product.shipping[_].postalCode == STRING
    input.Body.entries[_].product.shipping[_].price.currency == STRING
    input.Body.entries[_].product.shipping[_].price.value == STRING
    input.Body.entries[_].product.shipping[_].region == STRING
    input.Body.entries[_].product.shipping[_].service == STRING
    input.Body.entries[_].product.shippingHeight.unit == STRING
    input.Body.entries[_].product.shippingHeight.value == NUMBER
    input.Body.entries[_].product.shippingLabel == STRING
    input.Body.entries[_].product.shippingLength.unit == STRING
    input.Body.entries[_].product.shippingLength.value == NUMBER
    input.Body.entries[_].product.shippingWeight.unit == STRING
    input.Body.entries[_].product.shippingWeight.value == NUMBER
    input.Body.entries[_].product.shippingWidth.unit == STRING
    input.Body.entries[_].product.shippingWidth.value == NUMBER
    input.Body.entries[_].product.shoppingAdsExcludedCountries[_] == STRING
    input.Body.entries[_].product.sizeSystem == STRING
    input.Body.entries[_].product.sizeType == STRING
    input.Body.entries[_].product.sizes[_] == STRING
    input.Body.entries[_].product.source == STRING
    input.Body.entries[_].product.structuredDescription.content == STRING
    input.Body.entries[_].product.structuredDescription.digitalSourceType == STRING
    input.Body.entries[_].product.structuredTitle.content == STRING
    input.Body.entries[_].product.structuredTitle.digitalSourceType == STRING
    input.Body.entries[_].product.subscriptionCost.amount.currency == STRING
    input.Body.entries[_].product.subscriptionCost.amount.value == STRING
    input.Body.entries[_].product.subscriptionCost.period == STRING
    input.Body.entries[_].product.subscriptionCost.periodLength == STRING
    input.Body.entries[_].product.targetCountry == STRING
    input.Body.entries[_].product.taxCategory == STRING
    input.Body.entries[_].product.taxes[_].country == STRING
    input.Body.entries[_].product.taxes[_].locationId == STRING
    input.Body.entries[_].product.taxes[_].postalCode == STRING
    input.Body.entries[_].product.taxes[_].rate == NUMBER
    input.Body.entries[_].product.taxes[_].region == STRING
    input.Body.entries[_].product.taxes[_].taxShip == BOOLEAN
    input.Body.entries[_].product.title == STRING
    input.Body.entries[_].product.transitTimeLabel == STRING
    input.Body.entries[_].product.unitPricingBaseMeasure.unit == STRING
    input.Body.entries[_].product.unitPricingBaseMeasure.value == STRING
    input.Body.entries[_].product.unitPricingMeasure.unit == STRING
    input.Body.entries[_].product.unitPricingMeasure.value == NUMBER
    input.Body.entries[_].product.virtualModelLink == STRING
    input.Body.entries[_].productId == STRING
    input.Body.entries[_].updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

content.products.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.Qs.feedId == STRING
    input.ProviderMetadata.Region == STRING
}

content.products.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.products.insert

valid {
    input.Body.additionalImageLinks[_] == STRING
    input.Body.additionalSizeType == STRING
    input.Body.adsGrouping == STRING
    input.Body.adsLabels[_] == STRING
    input.Body.adsRedirect == STRING
    input.Body.adult == BOOLEAN
    input.Body.ageGroup == STRING
    input.Body.autoPricingMinPrice.currency == STRING
    input.Body.autoPricingMinPrice.value == STRING
    input.Body.availability == STRING
    input.Body.availabilityDate == STRING
    input.Body.brand == STRING
    input.Body.canonicalLink == STRING
    input.Body.certifications[_].certificationAuthority == STRING
    input.Body.certifications[_].certificationCode == STRING
    input.Body.certifications[_].certificationName == STRING
    input.Body.channel == STRING
    input.Body.cloudExportAdditionalProperties[_].boolValue == BOOLEAN
    input.Body.cloudExportAdditionalProperties[_].floatValue[_] == NUMBER
    input.Body.cloudExportAdditionalProperties[_].intValue[_] == STRING
    input.Body.cloudExportAdditionalProperties[_].maxValue == NUMBER
    input.Body.cloudExportAdditionalProperties[_].minValue == NUMBER
    input.Body.cloudExportAdditionalProperties[_].propertyName == STRING
    input.Body.cloudExportAdditionalProperties[_].textValue[_] == STRING
    input.Body.cloudExportAdditionalProperties[_].unitCode == STRING
    input.Body.color == STRING
    input.Body.condition == STRING
    input.Body.contentLanguage == STRING
    input.Body.costOfGoodsSold.currency == STRING
    input.Body.costOfGoodsSold.value == STRING
    input.Body.customAttributes[_].groupValues[_] == NESTED
    input.Body.customAttributes[_].name == STRING
    input.Body.customAttributes[_].value == STRING
    input.Body.customLabel0 == STRING
    input.Body.customLabel1 == STRING
    input.Body.customLabel2 == STRING
    input.Body.customLabel3 == STRING
    input.Body.customLabel4 == STRING
    input.Body.description == STRING
    input.Body.disclosureDate == STRING
    input.Body.displayAdsId == STRING
    input.Body.displayAdsLink == STRING
    input.Body.displayAdsSimilarIds[_] == STRING
    input.Body.displayAdsTitle == STRING
    input.Body.displayAdsValue == NUMBER
    input.Body.energyEfficiencyClass == STRING
    input.Body.excludedDestinations[_] == STRING
    input.Body.expirationDate == STRING
    input.Body.externalSellerId == STRING
    input.Body.feedLabel == STRING
    input.Body.gender == STRING
    input.Body.googleProductCategory == STRING
    input.Body.gtin == STRING
    input.Body.id == STRING
    input.Body.identifierExists == BOOLEAN
    input.Body.imageLink == STRING
    input.Body.includedDestinations[_] == STRING
    input.Body.installment.amount.currency == STRING
    input.Body.installment.amount.value == STRING
    input.Body.installment.months == STRING
    input.Body.isBundle == BOOLEAN
    input.Body.itemGroupId == STRING
    input.Body.kind == STRING
    input.Body.lifestyleImageLinks[_] == STRING
    input.Body.link == STRING
    input.Body.linkTemplate == STRING
    input.Body.loyaltyProgram.cashbackForFutureUse.currency == STRING
    input.Body.loyaltyProgram.cashbackForFutureUse.value == STRING
    input.Body.loyaltyProgram.loyaltyPoints == STRING
    input.Body.loyaltyProgram.price.currency == STRING
    input.Body.loyaltyProgram.price.value == STRING
    input.Body.loyaltyProgram.programLabel == STRING
    input.Body.loyaltyProgram.tierLabel == STRING
    input.Body.material == STRING
    input.Body.maxEnergyEfficiencyClass == STRING
    input.Body.maxHandlingTime == STRING
    input.Body.minEnergyEfficiencyClass == STRING
    input.Body.minHandlingTime == STRING
    input.Body.mobileLink == STRING
    input.Body.mobileLinkTemplate == STRING
    input.Body.mpn == STRING
    input.Body.multipack == STRING
    input.Body.offerId == STRING
    input.Body.pattern == STRING
    input.Body.pause == STRING
    input.Body.pickupMethod == STRING
    input.Body.pickupSla == STRING
    input.Body.price.currency == STRING
    input.Body.price.value == STRING
    input.Body.productDetails[_].attributeName == STRING
    input.Body.productDetails[_].attributeValue == STRING
    input.Body.productDetails[_].sectionName == STRING
    input.Body.productHeight.unit == STRING
    input.Body.productHeight.value == NUMBER
    input.Body.productHighlights[_] == STRING
    input.Body.productLength.unit == STRING
    input.Body.productLength.value == NUMBER
    input.Body.productTypes[_] == STRING
    input.Body.productWeight.unit == STRING
    input.Body.productWeight.value == NUMBER
    input.Body.productWidth.unit == STRING
    input.Body.productWidth.value == NUMBER
    input.Body.promotionIds[_] == STRING
    input.Body.salePrice.currency == STRING
    input.Body.salePrice.value == STRING
    input.Body.salePriceEffectiveDate == STRING
    input.Body.sellOnGoogleQuantity == STRING
    input.Body.shipping[_].country == STRING
    input.Body.shipping[_].locationGroupName == STRING
    input.Body.shipping[_].locationId == STRING
    input.Body.shipping[_].maxHandlingTime == STRING
    input.Body.shipping[_].maxTransitTime == STRING
    input.Body.shipping[_].minHandlingTime == STRING
    input.Body.shipping[_].minTransitTime == STRING
    input.Body.shipping[_].postalCode == STRING
    input.Body.shipping[_].price.currency == STRING
    input.Body.shipping[_].price.value == STRING
    input.Body.shipping[_].region == STRING
    input.Body.shipping[_].service == STRING
    input.Body.shippingHeight.unit == STRING
    input.Body.shippingHeight.value == NUMBER
    input.Body.shippingLabel == STRING
    input.Body.shippingLength.unit == STRING
    input.Body.shippingLength.value == NUMBER
    input.Body.shippingWeight.unit == STRING
    input.Body.shippingWeight.value == NUMBER
    input.Body.shippingWidth.unit == STRING
    input.Body.shippingWidth.value == NUMBER
    input.Body.shoppingAdsExcludedCountries[_] == STRING
    input.Body.sizeSystem == STRING
    input.Body.sizeType == STRING
    input.Body.sizes[_] == STRING
    input.Body.source == STRING
    input.Body.structuredDescription.content == STRING
    input.Body.structuredDescription.digitalSourceType == STRING
    input.Body.structuredTitle.content == STRING
    input.Body.structuredTitle.digitalSourceType == STRING
    input.Body.subscriptionCost.amount.currency == STRING
    input.Body.subscriptionCost.amount.value == STRING
    input.Body.subscriptionCost.period == STRING
    input.Body.subscriptionCost.periodLength == STRING
    input.Body.targetCountry == STRING
    input.Body.taxCategory == STRING
    input.Body.taxes[_].country == STRING
    input.Body.taxes[_].locationId == STRING
    input.Body.taxes[_].postalCode == STRING
    input.Body.taxes[_].rate == NUMBER
    input.Body.taxes[_].region == STRING
    input.Body.taxes[_].taxShip == BOOLEAN
    input.Body.title == STRING
    input.Body.transitTimeLabel == STRING
    input.Body.unitPricingBaseMeasure.unit == STRING
    input.Body.unitPricingBaseMeasure.value == STRING
    input.Body.unitPricingMeasure.unit == STRING
    input.Body.unitPricingMeasure.value == NUMBER
    input.Body.virtualModelLink == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.feedId == STRING
    input.ProviderMetadata.Region == STRING
}

content.products.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.products.update

valid {
    input.Body.additionalImageLinks[_] == STRING
    input.Body.additionalSizeType == STRING
    input.Body.adsGrouping == STRING
    input.Body.adsLabels[_] == STRING
    input.Body.adsRedirect == STRING
    input.Body.adult == BOOLEAN
    input.Body.ageGroup == STRING
    input.Body.autoPricingMinPrice.currency == STRING
    input.Body.autoPricingMinPrice.value == STRING
    input.Body.availability == STRING
    input.Body.availabilityDate == STRING
    input.Body.brand == STRING
    input.Body.canonicalLink == STRING
    input.Body.certifications[_].certificationAuthority == STRING
    input.Body.certifications[_].certificationCode == STRING
    input.Body.certifications[_].certificationName == STRING
    input.Body.channel == STRING
    input.Body.cloudExportAdditionalProperties[_].boolValue == BOOLEAN
    input.Body.cloudExportAdditionalProperties[_].floatValue[_] == NUMBER
    input.Body.cloudExportAdditionalProperties[_].intValue[_] == STRING
    input.Body.cloudExportAdditionalProperties[_].maxValue == NUMBER
    input.Body.cloudExportAdditionalProperties[_].minValue == NUMBER
    input.Body.cloudExportAdditionalProperties[_].propertyName == STRING
    input.Body.cloudExportAdditionalProperties[_].textValue[_] == STRING
    input.Body.cloudExportAdditionalProperties[_].unitCode == STRING
    input.Body.color == STRING
    input.Body.condition == STRING
    input.Body.contentLanguage == STRING
    input.Body.costOfGoodsSold.currency == STRING
    input.Body.costOfGoodsSold.value == STRING
    input.Body.customAttributes[_].groupValues[_] == NESTED
    input.Body.customAttributes[_].name == STRING
    input.Body.customAttributes[_].value == STRING
    input.Body.customLabel0 == STRING
    input.Body.customLabel1 == STRING
    input.Body.customLabel2 == STRING
    input.Body.customLabel3 == STRING
    input.Body.customLabel4 == STRING
    input.Body.description == STRING
    input.Body.disclosureDate == STRING
    input.Body.displayAdsId == STRING
    input.Body.displayAdsLink == STRING
    input.Body.displayAdsSimilarIds[_] == STRING
    input.Body.displayAdsTitle == STRING
    input.Body.displayAdsValue == NUMBER
    input.Body.energyEfficiencyClass == STRING
    input.Body.excludedDestinations[_] == STRING
    input.Body.expirationDate == STRING
    input.Body.externalSellerId == STRING
    input.Body.feedLabel == STRING
    input.Body.gender == STRING
    input.Body.googleProductCategory == STRING
    input.Body.gtin == STRING
    input.Body.id == STRING
    input.Body.identifierExists == BOOLEAN
    input.Body.imageLink == STRING
    input.Body.includedDestinations[_] == STRING
    input.Body.installment.amount.currency == STRING
    input.Body.installment.amount.value == STRING
    input.Body.installment.months == STRING
    input.Body.isBundle == BOOLEAN
    input.Body.itemGroupId == STRING
    input.Body.kind == STRING
    input.Body.lifestyleImageLinks[_] == STRING
    input.Body.link == STRING
    input.Body.linkTemplate == STRING
    input.Body.loyaltyProgram.cashbackForFutureUse.currency == STRING
    input.Body.loyaltyProgram.cashbackForFutureUse.value == STRING
    input.Body.loyaltyProgram.loyaltyPoints == STRING
    input.Body.loyaltyProgram.price.currency == STRING
    input.Body.loyaltyProgram.price.value == STRING
    input.Body.loyaltyProgram.programLabel == STRING
    input.Body.loyaltyProgram.tierLabel == STRING
    input.Body.material == STRING
    input.Body.maxEnergyEfficiencyClass == STRING
    input.Body.maxHandlingTime == STRING
    input.Body.minEnergyEfficiencyClass == STRING
    input.Body.minHandlingTime == STRING
    input.Body.mobileLink == STRING
    input.Body.mobileLinkTemplate == STRING
    input.Body.mpn == STRING
    input.Body.multipack == STRING
    input.Body.offerId == STRING
    input.Body.pattern == STRING
    input.Body.pause == STRING
    input.Body.pickupMethod == STRING
    input.Body.pickupSla == STRING
    input.Body.price.currency == STRING
    input.Body.price.value == STRING
    input.Body.productDetails[_].attributeName == STRING
    input.Body.productDetails[_].attributeValue == STRING
    input.Body.productDetails[_].sectionName == STRING
    input.Body.productHeight.unit == STRING
    input.Body.productHeight.value == NUMBER
    input.Body.productHighlights[_] == STRING
    input.Body.productLength.unit == STRING
    input.Body.productLength.value == NUMBER
    input.Body.productTypes[_] == STRING
    input.Body.productWeight.unit == STRING
    input.Body.productWeight.value == NUMBER
    input.Body.productWidth.unit == STRING
    input.Body.productWidth.value == NUMBER
    input.Body.promotionIds[_] == STRING
    input.Body.salePrice.currency == STRING
    input.Body.salePrice.value == STRING
    input.Body.salePriceEffectiveDate == STRING
    input.Body.sellOnGoogleQuantity == STRING
    input.Body.shipping[_].country == STRING
    input.Body.shipping[_].locationGroupName == STRING
    input.Body.shipping[_].locationId == STRING
    input.Body.shipping[_].maxHandlingTime == STRING
    input.Body.shipping[_].maxTransitTime == STRING
    input.Body.shipping[_].minHandlingTime == STRING
    input.Body.shipping[_].minTransitTime == STRING
    input.Body.shipping[_].postalCode == STRING
    input.Body.shipping[_].price.currency == STRING
    input.Body.shipping[_].price.value == STRING
    input.Body.shipping[_].region == STRING
    input.Body.shipping[_].service == STRING
    input.Body.shippingHeight.unit == STRING
    input.Body.shippingHeight.value == NUMBER
    input.Body.shippingLabel == STRING
    input.Body.shippingLength.unit == STRING
    input.Body.shippingLength.value == NUMBER
    input.Body.shippingWeight.unit == STRING
    input.Body.shippingWeight.value == NUMBER
    input.Body.shippingWidth.unit == STRING
    input.Body.shippingWidth.value == NUMBER
    input.Body.shoppingAdsExcludedCountries[_] == STRING
    input.Body.sizeSystem == STRING
    input.Body.sizeType == STRING
    input.Body.sizes[_] == STRING
    input.Body.source == STRING
    input.Body.structuredDescription.content == STRING
    input.Body.structuredDescription.digitalSourceType == STRING
    input.Body.structuredTitle.content == STRING
    input.Body.structuredTitle.digitalSourceType == STRING
    input.Body.subscriptionCost.amount.currency == STRING
    input.Body.subscriptionCost.amount.value == STRING
    input.Body.subscriptionCost.period == STRING
    input.Body.subscriptionCost.periodLength == STRING
    input.Body.targetCountry == STRING
    input.Body.taxCategory == STRING
    input.Body.taxes[_].country == STRING
    input.Body.taxes[_].locationId == STRING
    input.Body.taxes[_].postalCode == STRING
    input.Body.taxes[_].rate == NUMBER
    input.Body.taxes[_].region == STRING
    input.Body.taxes[_].taxShip == BOOLEAN
    input.Body.title == STRING
    input.Body.transitTimeLabel == STRING
    input.Body.unitPricingBaseMeasure.unit == STRING
    input.Body.unitPricingBaseMeasure.value == STRING
    input.Body.unitPricingMeasure.unit == STRING
    input.Body.unitPricingMeasure.value == NUMBER
    input.Body.virtualModelLink == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

content.productstatuses.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].destinations[_] == STRING
    input.Body.entries[_].includeAttributes == BOOLEAN
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.productstatuses.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.Qs.destinations == STRING
    input.ProviderMetadata.Region == STRING
}

content.productstatuses.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.destinations == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.promotions.create

enum_PromotionCouponValueType := [ "COUPON_VALUE_TYPE_UNSPECIFIED", "MONEY_OFF", "PERCENT_OFF", "BUY_M_GET_N_MONEY_OFF", "BUY_M_GET_N_PERCENT_OFF", "BUY_M_GET_MONEY_OFF", "BUY_M_GET_PERCENT_OFF", "FREE_GIFT", "FREE_GIFT_WITH_VALUE", "FREE_GIFT_WITH_ITEM_ID", "FREE_SHIPPING_STANDARD", "FREE_SHIPPING_OVERNIGHT", "FREE_SHIPPING_TWO_DAY" ]
enum_PromotionOfferType := [ "OFFER_TYPE_UNSPECIFIED", "NO_CODE", "GENERIC_CODE" ]
enum_PromotionProductApplicability := [ "PRODUCT_APPLICABILITY_UNSPECIFIED", "ALL_PRODUCTS", "SPECIFIC_PRODUCTS" ]
enum_PromotionRedemptionChannel := [ "REDEMPTION_CHANNEL_UNSPECIFIED", "IN_STORE", "ONLINE" ]
enum_PromotionStoreApplicability := [ "STORE_APPLICABILITY_UNSPECIFIED", "ALL_STORES", "SPECIFIC_STORES" ]

valid {
    input.Body.brand[_] == STRING
    input.Body.brandExclusion[_] == STRING
    input.Body.contentLanguage == STRING
    input.Body.couponValueType == enum_PromotionCouponValueType[_]
    input.Body.freeGiftDescription == STRING
    input.Body.freeGiftItemId == STRING
    input.Body.freeGiftValue.currency == STRING
    input.Body.freeGiftValue.value == STRING
    input.Body.genericRedemptionCode == STRING
    input.Body.getThisQuantityDiscounted == INTEGER
    input.Body.itemGroupId[_] == STRING
    input.Body.itemGroupIdExclusion[_] == STRING
    input.Body.itemId[_] == STRING
    input.Body.itemIdExclusion[_] == STRING
    input.Body.limitQuantity == INTEGER
    input.Body.limitValue.currency == STRING
    input.Body.limitValue.value == STRING
    input.Body.longTitle == STRING
    input.Body.minimumPurchaseAmount.currency == STRING
    input.Body.minimumPurchaseAmount.value == STRING
    input.Body.minimumPurchaseQuantity == INTEGER
    input.Body.moneyBudget.currency == STRING
    input.Body.moneyBudget.value == STRING
    input.Body.moneyOffAmount.currency == STRING
    input.Body.moneyOffAmount.value == STRING
    input.Body.offerType == enum_PromotionOfferType[_]
    input.Body.orderLimit == INTEGER
    input.Body.percentOff == INTEGER
    input.Body.productApplicability == enum_PromotionProductApplicability[_]
    input.Body.productType[_] == STRING
    input.Body.productTypeExclusion[_] == STRING
    input.Body.promotionDestinationIds[_] == STRING
    input.Body.promotionDisplayDates == STRING
    input.Body.promotionDisplayTimePeriod.endTime == STRING
    input.Body.promotionDisplayTimePeriod.startTime == STRING
    input.Body.promotionEffectiveDates == STRING
    input.Body.promotionEffectiveTimePeriod.endTime == STRING
    input.Body.promotionEffectiveTimePeriod.startTime == STRING
    input.Body.promotionId == STRING
    input.Body.promotionUrl == STRING
    input.Body.redemptionChannel[_] == enum_PromotionRedemptionChannel[_]
    input.Body.shippingServiceNames[_] == STRING
    input.Body.storeApplicability == enum_PromotionStoreApplicability[_]
    input.Body.storeCode[_] == STRING
    input.Body.storeCodeExclusion[_] == STRING
    input.Body.targetCountry == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.promotions.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.promotions.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.countryCode == STRING
    input.Qs.languageCode == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.pubsubnotificationsettings.get

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.pubsubnotificationsettings.update

valid {
    input.Body.cloudTopicName == STRING
    input.Body.kind == STRING
    input.Body.registeredEvents[_] == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.quotas.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.recommendations.generate

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.allowedTag == STRING
    input.Qs.languageCode == STRING
    input.ProviderMetadata.Region == STRING
}

content.recommendations.reportInteraction

enum_ReportInteractionRequestInteractionType := [ "INTERACTION_TYPE_UNSPECIFIED", "INTERACTION_DISMISS", "INTERACTION_CLICK" ]

valid {
    input.Body.interactionType == enum_ReportInteractionRequestInteractionType[_]
    input.Body.responseToken == STRING
    input.Body.subtype == STRING
    input.Body.type == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.regionalinventory.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].productId == STRING
    input.Body.entries[_].regionalInventory.availability == STRING
    input.Body.entries[_].regionalInventory.customAttributes[_].groupValues[_] == NESTED
    input.Body.entries[_].regionalInventory.customAttributes[_].name == STRING
    input.Body.entries[_].regionalInventory.customAttributes[_].value == STRING
    input.Body.entries[_].regionalInventory.kind == STRING
    input.Body.entries[_].regionalInventory.price.currency == STRING
    input.Body.entries[_].regionalInventory.price.value == STRING
    input.Body.entries[_].regionalInventory.regionId == STRING
    input.Body.entries[_].regionalInventory.salePrice.currency == STRING
    input.Body.entries[_].regionalInventory.salePrice.value == STRING
    input.Body.entries[_].regionalInventory.salePriceEffectiveDate == STRING
    input.ProviderMetadata.Region == STRING
}

content.regionalinventory.insert

valid {
    input.Body.availability == STRING
    input.Body.customAttributes[_].groupValues[_] == NESTED
    input.Body.customAttributes[_].name == STRING
    input.Body.customAttributes[_].value == STRING
    input.Body.kind == STRING
    input.Body.price.currency == STRING
    input.Body.price.value == STRING
    input.Body.regionId == STRING
    input.Body.salePrice.currency == STRING
    input.Body.salePrice.value == STRING
    input.Body.salePriceEffectiveDate == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.productId == STRING
    input.ProviderMetadata.Region == STRING
}

content.regions.create

valid {
    input.Body.displayName == STRING
    input.Body.geotargetArea.geotargetCriteriaIds[_] == STRING
    input.Body.postalCodeArea.postalCodes[_].begin == STRING
    input.Body.postalCodeArea.postalCodes[_].end == STRING
    input.Body.postalCodeArea.regionCode == STRING
    input.ReqMap.merchantId == STRING
    input.Qs.regionId == STRING
    input.ProviderMetadata.Region == STRING
}

content.regions.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionId == STRING
    input.ProviderMetadata.Region == STRING
}

content.regions.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionId == STRING
    input.ProviderMetadata.Region == STRING
}

content.regions.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.regions.patch

valid {
    input.Body.displayName == STRING
    input.Body.geotargetArea.geotargetCriteriaIds[_] == STRING
    input.Body.postalCodeArea.postalCodes[_].begin == STRING
    input.Body.postalCodeArea.postalCodes[_].end == STRING
    input.Body.postalCodeArea.regionCode == STRING
    input.ReqMap.merchantId == STRING
    input.ReqMap.regionId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

content.reports.search

valid {
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.query == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnaddress.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].returnAddress.address.country == STRING
    input.Body.entries[_].returnAddress.address.locality == STRING
    input.Body.entries[_].returnAddress.address.postalCode == STRING
    input.Body.entries[_].returnAddress.address.recipientName == STRING
    input.Body.entries[_].returnAddress.address.region == STRING
    input.Body.entries[_].returnAddress.address.streetAddress[_] == STRING
    input.Body.entries[_].returnAddress.country == STRING
    input.Body.entries[_].returnAddress.kind == STRING
    input.Body.entries[_].returnAddress.label == STRING
    input.Body.entries[_].returnAddress.phoneNumber == STRING
    input.Body.entries[_].returnAddress.returnAddressId == STRING
    input.Body.entries[_].returnAddressId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnaddress.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnAddressId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnaddress.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnAddressId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnaddress.insert

valid {
    input.Body.address.country == STRING
    input.Body.address.locality == STRING
    input.Body.address.postalCode == STRING
    input.Body.address.recipientName == STRING
    input.Body.address.region == STRING
    input.Body.address.streetAddress[_] == STRING
    input.Body.country == STRING
    input.Body.kind == STRING
    input.Body.label == STRING
    input.Body.phoneNumber == STRING
    input.Body.returnAddressId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnaddress.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.country == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicy.custombatch

valid {
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].returnPolicy.country == STRING
    input.Body.entries[_].returnPolicy.kind == STRING
    input.Body.entries[_].returnPolicy.label == STRING
    input.Body.entries[_].returnPolicy.name == STRING
    input.Body.entries[_].returnPolicy.nonFreeReturnReasons[_] == STRING
    input.Body.entries[_].returnPolicy.policy.lastReturnDate == STRING
    input.Body.entries[_].returnPolicy.policy.numberOfDays == STRING
    input.Body.entries[_].returnPolicy.policy.type == STRING
    input.Body.entries[_].returnPolicy.returnPolicyId == STRING
    input.Body.entries[_].returnPolicy.returnShippingFee.currency == STRING
    input.Body.entries[_].returnPolicy.returnShippingFee.value == STRING
    input.Body.entries[_].returnPolicy.seasonalOverrides[_].endDate == STRING
    input.Body.entries[_].returnPolicy.seasonalOverrides[_].name == STRING
    input.Body.entries[_].returnPolicy.seasonalOverrides[_].policy.lastReturnDate == STRING
    input.Body.entries[_].returnPolicy.seasonalOverrides[_].policy.numberOfDays == STRING
    input.Body.entries[_].returnPolicy.seasonalOverrides[_].policy.type == STRING
    input.Body.entries[_].returnPolicy.seasonalOverrides[_].startDate == STRING
    input.Body.entries[_].returnPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicy.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicy.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicy.insert

valid {
    input.Body.country == STRING
    input.Body.kind == STRING
    input.Body.label == STRING
    input.Body.name == STRING
    input.Body.nonFreeReturnReasons[_] == STRING
    input.Body.policy.lastReturnDate == STRING
    input.Body.policy.numberOfDays == STRING
    input.Body.policy.type == STRING
    input.Body.returnPolicyId == STRING
    input.Body.returnShippingFee.currency == STRING
    input.Body.returnShippingFee.value == STRING
    input.Body.seasonalOverrides[_].endDate == STRING
    input.Body.seasonalOverrides[_].name == STRING
    input.Body.seasonalOverrides[_].policy.lastReturnDate == STRING
    input.Body.seasonalOverrides[_].policy.numberOfDays == STRING
    input.Body.seasonalOverrides[_].policy.type == STRING
    input.Body.seasonalOverrides[_].startDate == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicy.list

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicyonline.create

enum_ReturnPolicyOnlineItemConditions := [ "ITEM_CONDITION_UNSPECIFIED", "NEW", "USED" ]
enum_ReturnPolicyOnlinePolicyType := [ "TYPE_UNSPECIFIED", "NUMBER_OF_DAYS_AFTER_DELIVERY", "NO_RETURNS", "LIFETIME_RETURNS" ]
enum_ReturnPolicyOnlineReturnMethods := [ "RETURN_METHOD_UNSPECIFIED", "BY_MAIL", "IN_STORE", "AT_A_KIOSK" ]
enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnLabelSource := [ "RETURN_LABEL_SOURCE_UNSPECIFIED", "DOWNLOAD_AND_PRINT", "IN_THE_BOX", "CUSTOMER_RESPONSIBILITY" ]
enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnReasonCategory := [ "RETURN_REASON_CATEGORY_UNSPECIFIED", "BUYER_REMORSE", "ITEM_DEFECT" ]
enum_ReturnPolicyOnlineReturnShippingFeeType := [ "TYPE_UNSPECIFIED", "FIXED", "CUSTOMER_PAYING_ACTUAL_FEE" ]

valid {
    input.Body.countries[_] == STRING
    input.Body.itemConditions[_] == enum_ReturnPolicyOnlineItemConditions[_]
    input.Body.label == STRING
    input.Body.name == STRING
    input.Body.policy.days == STRING
    input.Body.policy.type == enum_ReturnPolicyOnlinePolicyType[_]
    input.Body.restockingFee.fixedFee.currency == STRING
    input.Body.restockingFee.fixedFee.value == STRING
    input.Body.restockingFee.microPercent == INTEGER
    input.Body.returnMethods[_] == enum_ReturnPolicyOnlineReturnMethods[_]
    input.Body.returnPolicyUri == STRING
    input.Body.returnReasonCategoryInfo[_].returnLabelSource == enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnLabelSource[_]
    input.Body.returnReasonCategoryInfo[_].returnReasonCategory == enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnReasonCategory[_]
    input.Body.returnReasonCategoryInfo[_].returnShippingFee.fixedFee.currency == STRING
    input.Body.returnReasonCategoryInfo[_].returnShippingFee.fixedFee.value == STRING
    input.Body.returnReasonCategoryInfo[_].returnShippingFee.type == enum_ReturnPolicyOnlineReturnShippingFeeType[_]
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicyonline.delete

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicyonline.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicyonline.list

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.returnpolicyonline.patch

enum_ReturnPolicyOnlineItemConditions := [ "ITEM_CONDITION_UNSPECIFIED", "NEW", "USED" ]
enum_ReturnPolicyOnlinePolicyType := [ "TYPE_UNSPECIFIED", "NUMBER_OF_DAYS_AFTER_DELIVERY", "NO_RETURNS", "LIFETIME_RETURNS" ]
enum_ReturnPolicyOnlineReturnMethods := [ "RETURN_METHOD_UNSPECIFIED", "BY_MAIL", "IN_STORE", "AT_A_KIOSK" ]
enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnLabelSource := [ "RETURN_LABEL_SOURCE_UNSPECIFIED", "DOWNLOAD_AND_PRINT", "IN_THE_BOX", "CUSTOMER_RESPONSIBILITY" ]
enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnReasonCategory := [ "RETURN_REASON_CATEGORY_UNSPECIFIED", "BUYER_REMORSE", "ITEM_DEFECT" ]
enum_ReturnPolicyOnlineReturnShippingFeeType := [ "TYPE_UNSPECIFIED", "FIXED", "CUSTOMER_PAYING_ACTUAL_FEE" ]

valid {
    input.Body.countries[_] == STRING
    input.Body.itemConditions[_] == enum_ReturnPolicyOnlineItemConditions[_]
    input.Body.label == STRING
    input.Body.name == STRING
    input.Body.policy.days == STRING
    input.Body.policy.type == enum_ReturnPolicyOnlinePolicyType[_]
    input.Body.restockingFee.fixedFee.currency == STRING
    input.Body.restockingFee.fixedFee.value == STRING
    input.Body.restockingFee.microPercent == INTEGER
    input.Body.returnMethods[_] == enum_ReturnPolicyOnlineReturnMethods[_]
    input.Body.returnPolicyUri == STRING
    input.Body.returnReasonCategoryInfo[_].returnLabelSource == enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnLabelSource[_]
    input.Body.returnReasonCategoryInfo[_].returnReasonCategory == enum_ReturnPolicyOnlineReturnReasonCategoryInfoReturnReasonCategory[_]
    input.Body.returnReasonCategoryInfo[_].returnShippingFee.fixedFee.currency == STRING
    input.Body.returnReasonCategoryInfo[_].returnShippingFee.fixedFee.value == STRING
    input.Body.returnReasonCategoryInfo[_].returnShippingFee.type == enum_ReturnPolicyOnlineReturnShippingFeeType[_]
    input.ReqMap.merchantId == STRING
    input.ReqMap.returnPolicyId == STRING
    input.ProviderMetadata.Region == STRING
}

content.settlementreports.get

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.settlementId == STRING
    input.ProviderMetadata.Region == STRING
}

content.settlementreports.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.transferEndDate == STRING
    input.Qs.transferStartDate == STRING
    input.ProviderMetadata.Region == STRING
}

content.settlementtransactions.list

valid {
    input.ReqMap.merchantId == STRING
    input.ReqMap.settlementId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.transactionIds == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.custombatch

valid {
    input.Body.entries[_].accountId == STRING
    input.Body.entries[_].batchId == INTEGER
    input.Body.entries[_].merchantId == STRING
    input.Body.entries[_].method == STRING
    input.Body.entries[_].shippingSettings.accountId == STRING
    input.Body.entries[_].shippingSettings.postalCodeGroups[_].country == STRING
    input.Body.entries[_].shippingSettings.postalCodeGroups[_].name == STRING
    input.Body.entries[_].shippingSettings.postalCodeGroups[_].postalCodeRanges[_].postalCodeRangeBegin == STRING
    input.Body.entries[_].shippingSettings.postalCodeGroups[_].postalCodeRanges[_].postalCodeRangeEnd == STRING
    input.Body.entries[_].shippingSettings.services[_].active == BOOLEAN
    input.Body.entries[_].shippingSettings.services[_].currency == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryCountry == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.cutoffTime.hour == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.cutoffTime.minute == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.cutoffTime.timezone == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.handlingBusinessDayConfig.businessDays[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.holidayCutoffs[_].deadlineDate == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.holidayCutoffs[_].deadlineHour == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.holidayCutoffs[_].deadlineTimezone == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.holidayCutoffs[_].holidayId == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.holidayCutoffs[_].visibleFromDate == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.maxHandlingTimeInDays == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.maxTransitTimeInDays == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.minHandlingTimeInDays == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.minTransitTimeInDays == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.transitBusinessDayConfig.businessDays[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.transitTimeTable.postalCodeGroupNames[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.transitTimeTable.rows[_].values[_].maxTransitTimeInDays == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.transitTimeTable.rows[_].values[_].minTransitTimeInDays == INTEGER
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.transitTimeTable.transitTimeLabels[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].carrier == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].carrierService == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originAdministrativeArea == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originCity == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originCountry == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originPostalCode == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originStreetAddress == STRING
    input.Body.entries[_].shippingSettings.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].warehouseName == STRING
    input.Body.entries[_].shippingSettings.services[_].eligibility == STRING
    input.Body.entries[_].shippingSettings.services[_].minimumOrderValue.currency == STRING
    input.Body.entries[_].shippingSettings.services[_].minimumOrderValue.value == STRING
    input.Body.entries[_].shippingSettings.services[_].minimumOrderValueTable.storeCodeSetWithMovs[_].storeCodes[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].minimumOrderValueTable.storeCodeSetWithMovs[_].value.currency == STRING
    input.Body.entries[_].shippingSettings.services[_].minimumOrderValueTable.storeCodeSetWithMovs[_].value.value == STRING
    input.Body.entries[_].shippingSettings.services[_].name == STRING
    input.Body.entries[_].shippingSettings.services[_].pickupService.carrierName == STRING
    input.Body.entries[_].shippingSettings.services[_].pickupService.serviceName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].applicableShippingLabels[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].carrierName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].carrierService == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].flatAdjustment.currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].flatAdjustment.value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].name == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].originPostalCode == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].carrierRates[_].percentageAdjustment == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.locations[_].locationIds[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.numberOfItems[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.postalCodeGroupNames[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.prices[_].currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.prices[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.weights[_].unit == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.columnHeaders.weights[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.name == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.locations[_].locationIds[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.numberOfItems[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.postalCodeGroupNames[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.prices[_].currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.prices[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.weights[_].unit == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rowHeaders.weights[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rows[_].cells[_].carrierRateName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rows[_].cells[_].flatRate.currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rows[_].cells[_].flatRate.value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rows[_].cells[_].noShipping == BOOLEAN
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rows[_].cells[_].pricePercentage == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].mainTable.rows[_].cells[_].subtableName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].name == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].singleValue.carrierRateName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].singleValue.flatRate.currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].singleValue.flatRate.value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].singleValue.noShipping == BOOLEAN
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].singleValue.pricePercentage == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].singleValue.subtableName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.locations[_].locationIds[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.numberOfItems[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.postalCodeGroupNames[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.prices[_].currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.prices[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.weights[_].unit == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].columnHeaders.weights[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].name == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.locations[_].locationIds[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.numberOfItems[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.postalCodeGroupNames[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.prices[_].currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.prices[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.weights[_].unit == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rowHeaders.weights[_].value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rows[_].cells[_].carrierRateName == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rows[_].cells[_].flatRate.currency == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rows[_].cells[_].flatRate.value == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rows[_].cells[_].noShipping == BOOLEAN
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rows[_].cells[_].pricePercentage == STRING
    input.Body.entries[_].shippingSettings.services[_].rateGroups[_].subtables[_].rows[_].cells[_].subtableName == STRING
    input.Body.entries[_].shippingSettings.services[_].shipmentType == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.cutoffConfig.localCutoffTime.hour == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.cutoffConfig.localCutoffTime.minute == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.cutoffConfig.noDeliveryPostCutoff == BOOLEAN
    input.Body.entries[_].shippingSettings.services[_].storeConfig.cutoffConfig.storeCloseOffsetHours == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.serviceRadius.unit == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.serviceRadius.value == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.storeCodes[_] == STRING
    input.Body.entries[_].shippingSettings.services[_].storeConfig.storeServiceType == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].businessDayConfig.businessDays[_] == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].cutoffTime.hour == INTEGER
    input.Body.entries[_].shippingSettings.warehouses[_].cutoffTime.minute == INTEGER
    input.Body.entries[_].shippingSettings.warehouses[_].handlingDays == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].name == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].shippingAddress.administrativeArea == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].shippingAddress.city == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].shippingAddress.country == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].shippingAddress.postalCode == STRING
    input.Body.entries[_].shippingSettings.warehouses[_].shippingAddress.streetAddress == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.get

valid {
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.getsupportedcarriers

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.getsupportedholidays

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.getsupportedpickupservices

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.list

valid {
    input.ReqMap.merchantId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

content.shippingsettings.update

valid {
    input.Body.accountId == STRING
    input.Body.postalCodeGroups[_].country == STRING
    input.Body.postalCodeGroups[_].name == STRING
    input.Body.postalCodeGroups[_].postalCodeRanges[_].postalCodeRangeBegin == STRING
    input.Body.postalCodeGroups[_].postalCodeRanges[_].postalCodeRangeEnd == STRING
    input.Body.services[_].active == BOOLEAN
    input.Body.services[_].currency == STRING
    input.Body.services[_].deliveryCountry == STRING
    input.Body.services[_].deliveryTime.cutoffTime.hour == INTEGER
    input.Body.services[_].deliveryTime.cutoffTime.minute == INTEGER
    input.Body.services[_].deliveryTime.cutoffTime.timezone == STRING
    input.Body.services[_].deliveryTime.handlingBusinessDayConfig.businessDays[_] == STRING
    input.Body.services[_].deliveryTime.holidayCutoffs[_].deadlineDate == STRING
    input.Body.services[_].deliveryTime.holidayCutoffs[_].deadlineHour == INTEGER
    input.Body.services[_].deliveryTime.holidayCutoffs[_].deadlineTimezone == STRING
    input.Body.services[_].deliveryTime.holidayCutoffs[_].holidayId == STRING
    input.Body.services[_].deliveryTime.holidayCutoffs[_].visibleFromDate == STRING
    input.Body.services[_].deliveryTime.maxHandlingTimeInDays == INTEGER
    input.Body.services[_].deliveryTime.maxTransitTimeInDays == INTEGER
    input.Body.services[_].deliveryTime.minHandlingTimeInDays == INTEGER
    input.Body.services[_].deliveryTime.minTransitTimeInDays == INTEGER
    input.Body.services[_].deliveryTime.transitBusinessDayConfig.businessDays[_] == STRING
    input.Body.services[_].deliveryTime.transitTimeTable.postalCodeGroupNames[_] == STRING
    input.Body.services[_].deliveryTime.transitTimeTable.rows[_].values[_].maxTransitTimeInDays == INTEGER
    input.Body.services[_].deliveryTime.transitTimeTable.rows[_].values[_].minTransitTimeInDays == INTEGER
    input.Body.services[_].deliveryTime.transitTimeTable.transitTimeLabels[_] == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].carrier == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].carrierService == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originAdministrativeArea == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originCity == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originCountry == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originPostalCode == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].originStreetAddress == STRING
    input.Body.services[_].deliveryTime.warehouseBasedDeliveryTimes[_].warehouseName == STRING
    input.Body.services[_].eligibility == STRING
    input.Body.services[_].minimumOrderValue.currency == STRING
    input.Body.services[_].minimumOrderValue.value == STRING
    input.Body.services[_].minimumOrderValueTable.storeCodeSetWithMovs[_].storeCodes[_] == STRING
    input.Body.services[_].minimumOrderValueTable.storeCodeSetWithMovs[_].value.currency == STRING
    input.Body.services[_].minimumOrderValueTable.storeCodeSetWithMovs[_].value.value == STRING
    input.Body.services[_].name == STRING
    input.Body.services[_].pickupService.carrierName == STRING
    input.Body.services[_].pickupService.serviceName == STRING
    input.Body.services[_].rateGroups[_].applicableShippingLabels[_] == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].carrierName == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].carrierService == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].flatAdjustment.currency == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].flatAdjustment.value == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].name == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].originPostalCode == STRING
    input.Body.services[_].rateGroups[_].carrierRates[_].percentageAdjustment == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.locations[_].locationIds[_] == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.numberOfItems[_] == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.postalCodeGroupNames[_] == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.prices[_].currency == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.prices[_].value == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.weights[_].unit == STRING
    input.Body.services[_].rateGroups[_].mainTable.columnHeaders.weights[_].value == STRING
    input.Body.services[_].rateGroups[_].mainTable.name == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.locations[_].locationIds[_] == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.numberOfItems[_] == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.postalCodeGroupNames[_] == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.prices[_].currency == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.prices[_].value == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.weights[_].unit == STRING
    input.Body.services[_].rateGroups[_].mainTable.rowHeaders.weights[_].value == STRING
    input.Body.services[_].rateGroups[_].mainTable.rows[_].cells[_].carrierRateName == STRING
    input.Body.services[_].rateGroups[_].mainTable.rows[_].cells[_].flatRate.currency == STRING
    input.Body.services[_].rateGroups[_].mainTable.rows[_].cells[_].flatRate.value == STRING
    input.Body.services[_].rateGroups[_].mainTable.rows[_].cells[_].noShipping == BOOLEAN
    input.Body.services[_].rateGroups[_].mainTable.rows[_].cells[_].pricePercentage == STRING
    input.Body.services[_].rateGroups[_].mainTable.rows[_].cells[_].subtableName == STRING
    input.Body.services[_].rateGroups[_].name == STRING
    input.Body.services[_].rateGroups[_].singleValue.carrierRateName == STRING
    input.Body.services[_].rateGroups[_].singleValue.flatRate.currency == STRING
    input.Body.services[_].rateGroups[_].singleValue.flatRate.value == STRING
    input.Body.services[_].rateGroups[_].singleValue.noShipping == BOOLEAN
    input.Body.services[_].rateGroups[_].singleValue.pricePercentage == STRING
    input.Body.services[_].rateGroups[_].singleValue.subtableName == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.locations[_].locationIds[_] == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.numberOfItems[_] == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.postalCodeGroupNames[_] == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.prices[_].currency == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.prices[_].value == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.weights[_].unit == STRING
    input.Body.services[_].rateGroups[_].subtables[_].columnHeaders.weights[_].value == STRING
    input.Body.services[_].rateGroups[_].subtables[_].name == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.locations[_].locationIds[_] == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.numberOfItems[_] == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.postalCodeGroupNames[_] == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.prices[_].currency == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.prices[_].value == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.weights[_].unit == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rowHeaders.weights[_].value == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rows[_].cells[_].carrierRateName == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rows[_].cells[_].flatRate.currency == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rows[_].cells[_].flatRate.value == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rows[_].cells[_].noShipping == BOOLEAN
    input.Body.services[_].rateGroups[_].subtables[_].rows[_].cells[_].pricePercentage == STRING
    input.Body.services[_].rateGroups[_].subtables[_].rows[_].cells[_].subtableName == STRING
    input.Body.services[_].shipmentType == STRING
    input.Body.services[_].storeConfig.cutoffConfig.localCutoffTime.hour == STRING
    input.Body.services[_].storeConfig.cutoffConfig.localCutoffTime.minute == STRING
    input.Body.services[_].storeConfig.cutoffConfig.noDeliveryPostCutoff == BOOLEAN
    input.Body.services[_].storeConfig.cutoffConfig.storeCloseOffsetHours == STRING
    input.Body.services[_].storeConfig.serviceRadius.unit == STRING
    input.Body.services[_].storeConfig.serviceRadius.value == STRING
    input.Body.services[_].storeConfig.storeCodes[_] == STRING
    input.Body.services[_].storeConfig.storeServiceType == STRING
    input.Body.warehouses[_].businessDayConfig.businessDays[_] == STRING
    input.Body.warehouses[_].cutoffTime.hour == INTEGER
    input.Body.warehouses[_].cutoffTime.minute == INTEGER
    input.Body.warehouses[_].handlingDays == STRING
    input.Body.warehouses[_].name == STRING
    input.Body.warehouses[_].shippingAddress.administrativeArea == STRING
    input.Body.warehouses[_].shippingAddress.city == STRING
    input.Body.warehouses[_].shippingAddress.country == STRING
    input.Body.warehouses[_].shippingAddress.postalCode == STRING
    input.Body.warehouses[_].shippingAddress.streetAddress == STRING
    input.ReqMap.accountId == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.shoppingadsprogram.get

valid {
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}

content.shoppingadsprogram.requestreview

valid {
    input.Body.regionCode == STRING
    input.ReqMap.merchantId == STRING
    input.ProviderMetadata.Region == STRING
}