Skip to main content
Creates a new subscription for an existing customer.

Mutation

mutation ProvisionSubscription($input: ProvisionSubscriptionInput!) {
  provisionSubscriptionV2(input: $input) {
    subscription {
      subscriptionId
      status
      startDate
      currentBillingPeriodEnd
      plan {
        refId
        displayName
      }
      addons {
        addon {
          refId
          displayName
        }
        quantity
      }
      prices {
        billingPeriod
        price {
          amount
          currency
        }
      }
      trialEndDate
    }
    entitlements {
      feature {
        refId
        displayName
      }
      isGranted
      usageLimit
      hasUnlimitedUsage
    }
  }
}

Parameters

input
ProvisionSubscriptionInput
required
Input for provisioning a subscription

Return Type

Returns a ProvisionSubscriptionResult with:
FieldTypeDescription
subscriptionCustomerSubscriptionThe created subscription
entitlements[Entitlement]Resulting entitlements

Examples

With Trial Period

{
  "input": {
    "customerId": "customer-123",
    "planId": "plan-pro",
    "trialConfig": {
      "duration": 14,
      "units": "DAYS"
    }
  }
}

With Addons

{
  "input": {
    "customerId": "customer-123",
    "planId": "plan-pro",
    "billingPeriod": "ANNUAL",
    "addons": [
      { "addonId": "addon-seats", "quantity": 10 },
      { "addonId": "addon-storage", "quantity": 2 }
    ]
  }
}

Scheduled Start

{
  "input": {
    "customerId": "customer-123",
    "planId": "plan-enterprise",
    "startDate": "2024-02-01T00:00:00Z"
  }
}

Common Use Cases

Create paid subscription for customer on free plan.
Add subscription to additional product for existing customer.
Provision paid subscription when trial customer converts.