Create pricing plans
Important
This feature is currently in Early Availability (EA) status. For more information, see GraphQL API policy.
Define pricing model
After you create an edition, use updateEditionPricing mutation to define the pricing model.
Mutation
mutation {
updateEditionPricing(
input: {
id: "dc1b092c-bb68-480a-bde4-6ea996c86809",
revenueType: RECURRING,
includedItems: [
{
unit: "USER",
amount: "0",
unlimited: false
}
],
cancellable: true,
downgradable: true,
expiredTrialGracePeriod: null,
restricted: false,
trial: {
length: 0,
unit: DAY
},
upgradable: true
}
) {
editionPricing {
id
}
}
}
Response
{
"data": {
"updateEditionPricing": {
"editionPricing": {
"id": "dc1b092c-bb68-480a-bde4-6ea996c86809"
}
}
}
}
Add pricing plans
After you have defined a pricing model, use the createPricingPlan mutation to create a pricing plan to add it to the edition.
Mutation
mutation {
createPricingPlan(
input: {
editionId: "dc1b092c-bb68-480a-bde4-6ea996c86809"
pricingPlan: {
allowCustomUsage: false
keepBillDateOnUsageChange: true
keepBillDateOnPricingPlanChange: true
pricingDuration: MONTHLY
separatePrepaid: true
contract: {
alignWithParentCycleStartDate: true
allowContractRestrictionBypass: true
blockContractUpgrades: false
blockContractDowngrades: true
blockSwitchToShorterContract: true
continueWithoutContract: false
contractCancellationPeriodLimit: 7
endOfContractGracePeriod: 5
keepContractDateOnPlanChange: false
minimumServiceLength: 5
gracePeriod: { length: 15, unit: DAY }
}
costs: {
blockContractDecrease: true
blockContractIncrease: false
blockOriginalContractDecrease: true
meteredUsage: false
priceStrategy: UNIT
showPricePerIncrement: false
unit: "USER"
itemPrices: {
minUnits: 1
prices: { amount: 15.00, currency: "USD" }
}
}
}
}
) {
pricingPlan {
id
}
}
}
Response
{
"data": {
"createPricingPlan": {
"pricingPlan": {
"id": "85710e29-b4f6-44d4-a376-070df21a429a"
}
}
}
}
Was this page helpful?
Tell us more…
Help us improve our content. Responses are anonymous.
Thanks
We appreciate your feedback!