Query the subscription contract to retrieve the upcoming billing cycle using the `subscriptionBillingCycles` connection on the contract object, identifying the cycle by its `billingAttemptExpectedDate` or index.
To skip a cycle, call the `subscriptionBillingCycleSkip` mutation (verify the exact mutation name against current Shopify API docs), providing the subscription contract ID and the cycle index or date to skip.
To edit a cycle's billing date or amount without skipping, use the cycle-edit mutations available on the subscription draft — open a draft, apply cycle-specific overrides, and commit the draft.
After skipping, verify the contract's `nextBillingDate` has advanced to the cycle after the skipped one by querying the contract.
Implement a webhook listener on `subscription_contracts/update` to detect skips initiated by buyers via the customer portal and sync the state to your records.
Provide a buyer-facing UI (customer portal or Checkout UI Extension) that calls your backend, which then executes the skip mutation on behalf of the customer.
Known gotchas
Skipping a cycle does not cancel the subscription — the contract remains `ACTIVE` and billing resumes on the next cycle. If a customer wants a true pause, use a separate pause mechanism or set the contract status to `PAUSED` if supported in the current API version.
Billing cycle indices are zero-based and determined by the contract's billing policy. Providing an incorrect index may skip the wrong cycle — always query the cycles list first to confirm the target cycle's index and date.
Some cycle-edit operations are only available via the draft mutation pattern (open draft → edit → commit) and not via a direct mutation. Verify which operations require a draft workflow in the current Shopify Subscriptions API documentation.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp