Working with your Marketplace Revenue Shares
A Marketplace Revenue Share is an input for an AWS Marketplace product that declares the portion of the product's total revenue collected through AWS Marketplace. AWS uses this input to correlate a partner's Marketplace-collected revenue against other revenue signals.
The Marketplace Revenue Share Service exposes APIs to create, retrieve, and list Marketplace Revenue Share resources, and to manage their allocations (the partner-declared revenue-share percentages and effective date windows). Standard AWS tagging operations are supported on the Marketplace Revenue Share resource.
What is a Marketplace Revenue Share?
A Marketplace Revenue Share has two layers:
-
The share — an input for a single AWS Marketplace product, identified by the Marketplace
ProductId. There is exactly one Marketplace Revenue Share per product. -
One or more allocations — each allocation declares a
RevenueSharePercentand an effective date window (EffectiveDate, optionallyExpirationDate). A share can have many allocations over time, but at any moment only oneACTIVEallocation may apply.
Allocations have these key properties:
-
Status —
ACTIVEorINACTIVE. On creation, status defaults toACTIVE. OnlyACTIVEallocations participate in revenue calculations and overlap checks. -
Overlap invariant — within a single share, no two
ACTIVEallocations may have overlapping[EffectiveDate, ExpirationDate]ranges. At most one open-endedACTIVEallocation (noExpirationDate) is permitted per share at any time.
Working with your Marketplace Revenue Shares
Partners manage Marketplace Revenue Shares and their allocations through the Marketplace Revenue Share Service. The lifecycle progresses through two flows: the share flow (create, retrieve, list, tag) and the allocations flow (create, update, soft-delete, retrieve, list).
Creating a Marketplace Revenue Share
The first step is creating a Marketplace Revenue Share for an AWS Marketplace
product using the CreateMarketplaceRevenueShare API action. The share is
identified by the Marketplace ProductId and serves as the container for
all subsequent allocations.
When creating a Marketplace Revenue Share, partners must provide:
-
Catalog—AWSfor production orSandboxfor testing. -
ProductId— the 25-character Marketplace product ID. Pattern:[a-z0-9]{25}.
Partners can optionally provide:
-
Tags— up to 50 key-value pairs for resource organization at creation time. UseTagResourceto add tags after creation. -
ClientToken— an idempotency token to prevent duplicate creations on retry. Maximum 64 characters. SDKs auto-generate this token.
Product Validation: On creation, the service verifies with AWS Marketplace that the
product is owned by the caller's account or by a subsidiary account connected to the
caller via Partner Account Connection (PAC). If the product does not exist or the owning
account is not authorized for the caller, the API returns
ValidationException with reason
PRODUCT_NOT_FOUND_OR_NOT_OWNED.
One Share Per Product: A second CreateMarketplaceRevenueShare call for
the same ProductId in the same Catalog returns
ConflictException.
The response returns the share's Arn (format
arn:{partition}:partnercentral:{region}:{account-id}:catalog/{catalog}/marketplace-revenue-share/{productId}),
the Catalog, the ProductId, the initial Version
number (which starts at 1 and increments on each allocation mutation), and any tags
applied at creation.
Adding allocations
Once a Marketplace Revenue Share is created, partners declare a revenue-share
percentage and an effective date window by creating an allocation through the
CreateMarketplaceRevenueShareAllocation API action.
When creating an allocation, partners must provide:
-
Catalog—AWSorSandbox. -
MarketplaceRevenueShareIdentifier— the identifier of the parent share. -
RevenueSharePercent— the percentage of the product's revenue collected through Marketplace provided as a decimal (for example,0.45for 45%). -
EffectiveDate— the calendar date when this allocation becomes effective. Format:YYYY-MM-DD.
The response returns the allocation's Id (format
mrsa-[A-Za-z0-9]{13}), the allocation status (ACTIVE on
creation), and the parent share's bumped Version (a single version integer
per share is bumped on every allocation mutation, used for optimistic locking on
subsequent allocation updates).
Updating allocations
Partners can update an allocation using the
UpdateMarketplaceRevenueShareAllocation API action. The updatable fields
depend on whether the allocation is future-dated, currently-effective, or
past-dated.
When updating an allocation, partners must provide:
-
Catalog—AWSorSandbox. -
MarketplaceRevenueShareIdentifier— the identifier of the parent share. -
AllocationId— themrsa-ID of the allocation to update. -
MarketplaceRevenueShareVersion— the current version of the parent share for optimistic locking on the allocation. Bump conflicts returnConflictException.
Partners can optionally provide:
-
RevenueSharePercent— the updated revenue-share percentage. Editable only on future-dated allocations. -
EffectiveDate— the updated effective date. Editable only on future-dated allocations. -
ExpirationDate— the updated expiration date. Editable on future-dated allocations (any value> EffectiveDate) and on currently-effective or open-ended allocations (any value≥ today). -
Status—ACTIVEorINACTIVE. Setting toINACTIVEsoft-deletes the allocation. Editable only on future-dated allocations. -
ClientToken— an idempotency token.
Viewing Marketplace Revenue Share details
Partners can retrieve complete information for a single Marketplace Revenue Share
using the GetMarketplaceRevenueShare API action. This returns the share's
Arn, Catalog, ProductId, Version
(the parent share's current version), CreatedDate,
LastModifiedDate, and any tags applied to the share.
Partners can retrieve a single allocation using the
GetMarketplaceRevenueShareAllocation API action with the allocation's
Id. This returns:
-
The allocation's
Idand parent share'sMarketplaceRevenueShareArn. -
RevenueSharePercent,EffectiveDate,ExpirationDate. -
Status(ACTIVEorINACTIVE). -
The parent share's
MarketplaceRevenueShareVersionfor optimistic locking on subsequent updates. -
CreatedDateandLastModifiedDate.
Listing Marketplace Revenue Shares
Partners can view all Marketplace Revenue Shares owned by their account using the
ListMarketplaceRevenueShares API action. This returns a paginated list of
share summaries.
Partners can filter results by:
-
Catalog—AWSorSandbox(required). -
ProductIds— a list of specific Marketplace product IDs to retrieve.
The response includes a summary for each share: Arn,
Catalog, ProductId, the latest Version,
CreatedDate, and LastModifiedDate.
Use MaxResults and NextToken to paginate through large
result sets.
Listing allocations
Partners can list the allocations for a specific Marketplace Revenue Share using the
ListMarketplaceRevenueShareAllocations API action. This returns a paginated
list of allocation summaries with filtering capabilities.
Partners can filter results by:
-
Status—ACTIVEorINACTIVE. -
Effective date range —
EffectiveDateOnOrAfter/EffectiveDateOnOrBeforeto retrieve allocations whose effective date falls within a specific window.
The response includes summary information for each allocation: Id,
RevenueSharePercent, EffectiveDate,
ExpirationDate, Status,
MarketplaceRevenueShareVersion, and audit timestamps.
Tagging Marketplace Revenue Shares
Standard AWS tagging operations are supported on the Marketplace Revenue Share resource:
-
TagResource— add or overwrite tags on a Marketplace Revenue Share. Maximum 50 tags per share. -
UntagResource— remove specific tags by key. -
ListTagsForResource— retrieve all tags currently applied to a Marketplace Revenue Share.
Allocations do not support tags. Tag the parent share to organize related allocations.
Each tagging operation accepts the share's Arn (format
arn:{partition}:partnercentral:{region}:{account-id}:catalog/{catalog}/marketplace-revenue-share/{productId})
as the resource identifier. Standard AWS tag-on-create is also supported through the
Tags field on CreateMarketplaceRevenueShare.