Marketplace Admin Marketplace Admin protocol schemas
Defines schemas for the platform (Cloud) side of marketplace operations.
Covers the administrative workflows for managing and governing the marketplace.
Salesforce AppExchange Admin : Security review, ISV monitoring, partner management
Apple App Store Connect Review : Human review process, guidelines, rejection reasons
Google Play Console : Policy enforcement, quality gates, content moderation
Review Process : Structured workflow for submission review (automated + manual)
Curation : Featured apps, curated collections, editorial picks
Governance : Policy enforcement, takedown, compliance
Platform Analytics : Marketplace health, trending, abuse detection
Source: packages/spec/src/cloud/marketplace-admin.zod.ts
import { CuratedCollectionSchema, FeaturedListingSchema, MarketplaceHealthMetricsSchema, PolicyActionSchema, PolicyViolationTypeSchema, RejectionReasonSchema, ReviewCriterionSchema, ReviewDecisionSchema, SubmissionReviewSchema, TrendingListingSchema } from '@objectstack/spec/cloud' ;
import type { CuratedCollection, FeaturedListing, MarketplaceHealthMetrics, PolicyAction, PolicyViolationType, RejectionReason, ReviewCriterion, ReviewDecision, SubmissionReview, TrendingListing } from '@objectstack/spec/cloud' ;
// Validate data
const result = CuratedCollectionSchema. parse (data);
Property Type Required Description id string✅ Collection ID name string✅ Collection name description stringoptional coverImageUrl stringoptional listingIds string[]✅ Ordered listing IDs published booleanoptional (default: false) sortOrder integeroptional (default: 0) createdBy stringoptional createdAt stringoptional updatedAt stringoptional
Property Type Required Description listingId string✅ Featured listing ID priority integeroptional (default: 0) bannerUrl stringoptional editorialNote stringoptional startDate string✅ endDate stringoptional active booleanoptional (default: true)
Property Type Required Description totalListings integer✅ listingsByStatus Record<string, integer>optional listingsByCategory Record<string, integer>optional totalPublishers integer✅ verifiedPublishers integer✅ totalInstalls integer✅ averageReviewTime numberoptional pendingReviews integer✅ listingsByPricing Record<string, integer>optional snapshotAt string✅
Property Type Required Description id string✅ Action ID listingId string✅ Target listing ID violationType Enum<'malware' | 'data-harvesting' | 'spam' | 'copyright' | 'inappropriate-content' | 'terms-of-service' | 'security-risk' | 'abandoned'>✅ action Enum<'warning' | 'suspend' | 'takedown' | 'restrict'>✅ reason string✅ Explanation of the violation actionBy string✅ Admin user ID actionAt string✅ resolution stringoptional resolved booleanoptional (default: false)
malware
data-harvesting
spam
copyright
inappropriate-content
terms-of-service
security-risk
abandoned
security-vulnerability
policy-violation
quality-below-standard
misleading-metadata
incompatible
duplicate
insufficient-documentation
other
Property Type Required Description id string✅ Criterion ID category Enum<'security' | 'performance' | 'quality' | 'ux' | 'documentation' | 'policy' | 'compatibility'>✅ description string✅ required booleanoptional (default: true) passed booleanoptional notes stringoptional
approved
rejected
changes-requested
Property Type Required Description id string✅ Review ID submissionId string✅ Submission being reviewed reviewerId string✅ Platform reviewer ID decision Enum<'approved' | 'rejected' | 'changes-requested'>optional Final decision criteria { id: string; category: Enum<'security' | 'performance' | 'quality' | 'ux' | 'documentation' | 'policy' | 'compatibility'>; description: string; required: boolean; … }[]optional Review checklist results rejectionReasons Enum<'security-vulnerability' | 'policy-violation' | 'quality-below-standard' | 'misleading-metadata' | 'incompatible' | 'duplicate' | 'insufficient-documentation' | 'other'>[]optional feedback stringoptional Detailed review feedback (Markdown) internalNotes stringoptional Internal reviewer notes startedAt stringoptional completedAt stringoptional
Property Type Required Description listingId string✅ rank integer✅ trendScore number✅ installVelocity number✅ period string✅