Skip to main content
Retrieves a paginated list of plans with optional filtering and sorting.

Query

query ListPlans(
  $filter: PlanFilter
  $paging: CursorPaging
  $sorting: [PlanSort!]
) {
  plans(filter: $filter, paging: $paging, sorting: $sorting) {
    edges {
      node {
        refId
        displayName
        description
        status
        pricingType
        versionNumber
        basePlan {
          refId
        }
        product {
          refId
          displayName
        }
        prices {
          billingModel
          billingPeriod
          price {
            amount
            currency
          }
        }
        packageEntitlements {
          ... on PackageEntitlement {
            feature {
              refId
              displayName
              featureType
            }
            hasUnlimitedUsage
            usageLimit
          }
        }
      }
      cursor
    }
    pageInfo {
      hasNextPage
      endCursor
    }
    totalCount
  }
}

Parameters

filter
PlanFilter
Filter criteria for plans
paging
CursorPaging
Pagination options
sorting
[PlanSort]
Sorting options with fields: createdAt, displayName, refId, status

Return Type

Returns a PlanConnection with plan objects containing:
FieldTypeDescription
refIdStringPlan reference ID
displayNameStringDisplay name
descriptionStringPlan description
statusPackageStatusDRAFT, PUBLISHED, ARCHIVED
pricingTypePricingTypeFREE, PAID, CUSTOM
versionNumberIntCurrent version
basePlanPlanParent plan (if inheriting)
productProductAssociated product
prices[Price]Plan pricing
packageEntitlements[PackageEntitlement]Included entitlements
compatibleAddons[Addon]Compatible addons

Common Use Cases

Fetch all published plans to display on a pricing page.
List all plans including drafts for admin interfaces.
Query plans to build feature comparison tables.