Please note that creating a paid app and submitting it for approval will work as-is in Marketplace Partner Console UI
For updating the pricing of an app for a particular packaging, follow these steps in sequence.
For below steps, API token for authorisation and pass header with key: x-catalog-account and value: catalog-account fetched from API
Fetch product Id for the app using API
Fetch all offerings for the relevant productId using API. Pass status = “ACTIVE” and creation-type = “DEFAULT_OFFERING” as query parameters. Select the id of the relevant offering based on the following name mapping:
| Offering Type | Offering Name |
|---|---|
| Standard offering | Standard |
| Isolated Cloud offering | Standard isolated cloud |
| Data Center offering | Data Center |
| AGC offering | Standard fedramp moderate |
| Advanced offering | Advanced |
| Standard Multi Instance offering | Standard Multi Instance |
| Advanced Multi Instance offering | Advanced Multi Instance |
Fetch active pricing plans for the relevant offering Id using API and pass status = “ACTIVE” and creation-type = “DEFAULT_PRICING” as query parameters.
Pick the Pricing Plan from above list that needs to be updated. Pick Pricing Plan which matches below criteria
Update the relevant prices in the fetched pricing plan to create a Draft Pricing Plan using the API
1 2User tier fetched: { "floor": 11, "ceiling": 11, "unitAmount": --, "flatAmount": -- }, { "floor": 12, "ceiling": 15, "unitAmount": null, "flatAmount": -- }, User tier while creating draft Pricing Plan: { "floor": 11, "ceiling": 15, "unitAmount": --, "flatAmount": -- },
Create a pricing change using API. Pass the Pricing Plan to be deactivated and Draft Pricing Plan Id (Id of the Pricing Plan created in Step 5) to be activated
Execute the pricing change using API
Things to remember
These draft pricing plans will remain unavailable in the marketplace UI until the change is executed
Create annual pricing plans for Multi-instance, AGC, data center, and Isolated Cloud offerings, and monthly pricing plans for all other offerings
Free starter tier is not allowed for Advanced edition
For annual pricing plans, ensure the flatAmount is in ascending order
Ensure higher editions have higher prices than lower editions
Ensure higher user tiers have lower per-unit prices than lower tiers in a pricing plan
| Attribute in the API | Recommended value | |
|---|---|---|
| Create draft Pricing Plan API | ||
| currency | "USD" | |
| tiersMode | "VOLUME" for Monthly, "GRADUATED" for Annual | |
| prorateOnUsageChange | "NONE" | |
| Create pricing change API | ||
| maxNewQuoteDate | Epoch in milliseconds for current time + 60 days | |
| cohort.type | "DEFAULT" | |
| activationReasonCode | "DEFAULT_PRICING" | |
| effectiveDate | null (No value for this attribute) | |
| Execute pricing change API | ||
| Empty body |
1 2curl --location 'https://{{host}}/api/v2/pricing-plans' \ --header 'x-catalog-account: {{catalog_account}}' \ --header 'Authorization: {{API_token}}'\ --header 'Content-Type: application/json' \ --data '{ "id": "{{guid}}", "offeringId": "{{offeringId}}", "primaryCycleId": "ANNUAL", "currency": "USD", "items": [ { "cycleId": "ANNUAL", "starter": false, "chargeType": "LICENSED", "chargeElement": "user", "tiersMode": "VOLUME", "chargeElementAggregationType": "LATEST", "transformQuantity": null, "prorateOnUsageChange": "NONE", "tiers": [ { "floor": 1, "ceiling": 10, "unitAmount": null, "flatAmount": 0 }, { "floor": 11, "ceiling": 15, "unitAmount": null, "flatAmount": 61200 }, { "floor": 16, "ceiling": 25, "unitAmount": null, "flatAmount": 102000 }, { "floor": 26, "ceiling": 50, "unitAmount": null, "flatAmount": 204000 }, { "floor": 51, "ceiling": 100, "unitAmount": null, "flatAmount": 408000 }, { "floor": 101, "ceiling": 200, "unitAmount": null, "flatAmount": 756000 }, { "floor": 201, "ceiling": 300, "unitAmount": null, "flatAmount": 1075000 }, { "floor": 301, "ceiling": 400, "unitAmount": null, "flatAmount": 1365000 }, { "floor": 401, "ceiling": 500, "unitAmount": null, "flatAmount": 1655000 }, { "floor": 501, "ceiling": 600, "unitAmount": null, "flatAmount": 1945000 }, { "floor": 601, "ceiling": 800, "unitAmount": null, "flatAmount": 2525000 }, { "floor": 801, "ceiling": 1000, "unitAmount": null, "flatAmount": 3105000 }, { "floor": 1001, "ceiling": 1200, "unitAmount": null, "flatAmount": 3631000 }, { "floor": 1201, "ceiling": 1400, "unitAmount": null, "flatAmount": 4157000 }, { "floor": 1401, "ceiling": 1600, "unitAmount": null, "flatAmount": 4683000 }, { "floor": 1601, "ceiling": 1800, "unitAmount": null, "flatAmount": 5209000 }, { "floor": 1801, "ceiling": 2000, "unitAmount": null, "flatAmount": 5735000 }, { "floor": 2001, "ceiling": 2250, "unitAmount": null, "flatAmount": 6392500 }, { "floor": 2251, "ceiling": 2500, "unitAmount": null, "flatAmount": 7050000 }, { "floor": 2501, "ceiling": 2750, "unitAmount": null, "flatAmount": 7662500 }, { "floor": 2751, "ceiling": 3000, "unitAmount": null, "flatAmount": 8275000 }, { "floor": 3001, "ceiling": 3250, "unitAmount": null, "flatAmount": 8887500 }, { "floor": 3251, "ceiling": 3500, "unitAmount": null, "flatAmount": 9500000 }, { "floor": 3501, "ceiling": 3750, "unitAmount": null, "flatAmount": 10112500 }, { "floor": 3751, "ceiling": 4000, "unitAmount": null, "flatAmount": 10725000 }, { "floor": 4001, "ceiling": 4250, "unitAmount": null, "flatAmount": 11337500 }, { "floor": 4251, "ceiling": 4500, "unitAmount": null, "flatAmount": 11950000 }, { "floor": 4501, "ceiling": 4750, "unitAmount": null, "flatAmount": 12562500 }, { "floor": 4751, "ceiling": 5000, "unitAmount": null, "flatAmount": 13175000 }, { "floor": 5001, "ceiling": 5500, "unitAmount": null, "flatAmount": 14325000 }, { "floor": 5501, "ceiling": 6000, "unitAmount": null, "flatAmount": 15475000 }, { "floor": 6001, "ceiling": 6500, "unitAmount": null, "flatAmount": 16625000 }, { "floor": 6501, "ceiling": 7000, "unitAmount": null, "flatAmount": 17775000 }, { "floor": 7001, "ceiling": 7500, "unitAmount": null, "flatAmount": 18925000 }, { "floor": 7501, "ceiling": 8000, "unitAmount": null, "flatAmount": 20010000 }, { "floor": 8001, "ceiling": 8500, "unitAmount": null, "flatAmount": 21095000 }, { "floor": 8501, "ceiling": 9000, "unitAmount": null, "flatAmount": 22180000 }, { "floor": 9001, "ceiling": 9500, "unitAmount": null, "flatAmount": 23265000 }, { "floor": 9501, "ceiling": 10000, "unitAmount": null, "flatAmount": 24350000 }, { "floor": 10001, "ceiling": 11000, "unitAmount": null, "flatAmount": 26230000 }, { "floor": 11001, "ceiling": 12000, "unitAmount": null, "flatAmount": 28110000 }, { "floor": 12001, "ceiling": 13000, "unitAmount": null, "flatAmount": 29990000 }, { "floor": 13001, "ceiling": 14000, "unitAmount": null, "flatAmount": 31870000 }, { "floor": 14001, "ceiling": 15000, "unitAmount": null, "flatAmount": 33750000 }, { "floor": 15001, "ceiling": 16000, "unitAmount": null, "flatAmount": 35480000 }, { "floor": 16001, "ceiling": 17000, "unitAmount": null, "flatAmount": 37210000 }, { "floor": 17001, "ceiling": 18000, "unitAmount": null, "flatAmount": 38940000 }, { "floor": 18001, "ceiling": 19000, "unitAmount": null, "flatAmount": 40670000 }, { "floor": 19001, "ceiling": 20000, "unitAmount": null, "flatAmount": 42400000 }, { "floor": 20001, "ceiling": 21000, "unitAmount": null, "flatAmount": 44030000 }, { "floor": 21001, "ceiling": 22000, "unitAmount": null, "flatAmount": 45660000 }, { "floor": 22001, "ceiling": 23000, "unitAmount": null, "flatAmount": 47290000 }, { "floor": 23001, "ceiling": 24000, "unitAmount": null, "flatAmount": 48920000 }, { "floor": 24001, "ceiling": 25000, "unitAmount": null, "flatAmount": 50550000 }, { "floor": 25001, "ceiling": 26000, "unitAmount": null, "flatAmount": 52070000 }, { "floor": 26001, "ceiling": 27000, "unitAmount": null, "flatAmount": 53590000 }, { "floor": 27001, "ceiling": 28000, "unitAmount": null, "flatAmount": 55110000 }, { "floor": 28001, "ceiling": 29000, "unitAmount": null, "flatAmount": 56630000 }, { "floor": 29001, "ceiling": 30000, "unitAmount": null, "flatAmount": 58150000 }, { "floor": 30001, "ceiling": 31000, "unitAmount": null, "flatAmount": 59350000 }, { "floor": 31001, "ceiling": 32000, "unitAmount": null, "flatAmount": 60550000 }, { "floor": 32001, "ceiling": 33000, "unitAmount": null, "flatAmount": 61750000 }, { "floor": 33001, "ceiling": 34000, "unitAmount": null, "flatAmount": 62950000 }, { "floor": 34001, "ceiling": 35000, "unitAmount": null, "flatAmount": 64150000 }, { "floor": 35001, "ceiling": 36000, "unitAmount": null, "flatAmount": 65330000 }, { "floor": 36001, "ceiling": 37000, "unitAmount": null, "flatAmount": 66510000 }, { "floor": 37001, "ceiling": 38000, "unitAmount": null, "flatAmount": 67690000 }, { "floor": 38001, "ceiling": 39000, "unitAmount": null, "flatAmount": 68870000 }, { "floor": 39001, "ceiling": 40000, "unitAmount": null, "flatAmount": 70050000 }, { "floor": 40001, "ceiling": 41000, "unitAmount": null, "flatAmount": 71200000 }, { "floor": 41001, "ceiling": 42000, "unitAmount": null, "flatAmount": 72350000 }, { "floor": 42001, "ceiling": 43000, "unitAmount": null, "flatAmount": 73500000 }, { "floor": 43001, "ceiling": 44000, "unitAmount": null, "flatAmount": 74650000 }, { "floor": 44001, "ceiling": 45000, "unitAmount": null, "flatAmount": 75800000 }, { "floor": 45001, "ceiling": 46000, "unitAmount": null, "flatAmount": 76930000 }, { "floor": 46001, "ceiling": 47000, "unitAmount": null, "flatAmount": 78060000 }, { "floor": 47001, "ceiling": 48000, "unitAmount": null, "flatAmount": 79190000 }, { "floor": 48001, "ceiling": 49000, "unitAmount": null, "flatAmount": 80320000 }, { "floor": 49001, "ceiling": 50000, "unitAmount": null, "flatAmount": 81450000 }, { "floor": 50001, "ceiling": 60000, "unitAmount": null, "flatAmount": 92750000 }, { "floor": 60001, "ceiling": 70000, "unitAmount": null, "flatAmount": 104050000 }, { "floor": 70001, "ceiling": 80000, "unitAmount": null, "flatAmount": 115350000 }, { "floor": 80001, "ceiling": 90000, "unitAmount": null, "flatAmount": 126650000 }, { "floor": 90001, "ceiling": 100000, "unitAmount": null, "flatAmount": 137950000 } ] } ] } '
1 2curl --location 'https://offering.staging.atl-paas.net/api/v2/pricing-changes' \ --header 'x-catalog-account: {{catalog_account}}' \ --header 'Authorization: {{API_token}}'\ --header 'Content-Type: application/json' \ --data '{ "id": "{{guid}}", "offeringId": "{{offeringId}}", "description": "string", "changes": [ { "activate": { "pricingPlanId": "{{draftPricingPlanId}}", "activationReasonCode": "DEFAULT_PRICING" }, "deactivate": { "pricingPlanId": "{{activePricingPlanIdToBeDeactivated}}", "maxNewQuoteDate": 1767591039000 }, "migrate": { "fromPricingPlanId": "{{activePricingPlanIdToBeDeactivated}}", "destinations": [ { "toPricingPlanId": "{{draftPricingPlanId}}", "cohort": { "type": "DEFAULT", "chargeElement": "string", "tierFloor": 0, "tierCeiling": 0 } } ] } } ] }'
1 2curl --location --request PUT 'https://{{host}}/api/v2/pricing-changes/{pricingChangeId}/execute' \ --header 'x-catalog-account: {{catalog_account}}' \ --header 'Authorization: {{API_token}}'\ --header 'Content-Type: application/json' \ --data '{ }'
Use below steps to fetch pricing of an App.
Use API token for authorisation and pass header with key: x-catalog-account and value: catalog-account fetched from API
Fetch product Id for the app using API
Fetch all offerings for the relevant productId using API. Pass status = “ACTIVE” and creation-type = “DEFAULT_OFFERING” as query parameters. Select the id of the relevant offering based on the following name mapping:
| Offering Type | Offering Name |
|---|---|
| Standard offering | Standard |
| Isolated Cloud offering | Standard isolated cloud |
| Data Center offering | Data Center |
| AGC offering | Standard fedramp moderate |
| Advanced offering | Advanced |
| Standard Multi Instance offering | Standard Multi Instance |
| Advanced Multi Instance offering | Advanced Multi Instance |
Fetch active pricing plans for the relevant offering Id using API and pass status = “ACTIVE” and creation-type = “DEFAULT_PRICING” as query parameters.
Pick the Pricing Plan from above list that needs to be updated. Pick Pricing Plan which matches below criteria
"type": "COMMERCIAL"
Annual Pricing Plan (primaryCycle.name = ANNUAL) for Multi Instance offering, AGC offering, Data Center offering and Isolated Cloud offering
Monthly Pricing Plan (primaryCycle.name = MONTHLY)for rest of the offerings
Rate this page: