Skip to main content
Actions define what modification to apply when a schedule adjustment matches an order.

Skip order

Prevents an order from being created. The order will be excluded from the schedule entirely.
Use cases:
  • Customer going on vacation
  • Holiday closures
  • Temporary subscription pause
Input:

Skip item

Removes individual line items from an order while leaving the rest of the order intact.
Use cases:
  • Customer already has enough of one product
  • Skipping a single product in a multi-product subscription
  • Pausing one item without pausing the whole subscription
Input:
Skipped items remain in the response with skipped: true rather than being removed, so you can show the customer what was skipped. Pass excludeSkipped=true on Get schedule to omit them instead.
Skipping an item is a single-cycle skip. The item’s nextBillingDate still advances, so the next order in the schedule is unaffected — but the skipped cycle does not count towards the item’s usage count.
If lineIds covers every line in the order, the whole order is skipped — the result is equivalent to SKIP_ORDER, and the order is returned with skipped: true.
Discounts are recalculated against the remaining items. A discount whose entitled lines were all skipped no longer applies and is dropped from the order, and an order left with no shippable lines carries no delivery price.

Change date

Reschedules an order to a different date within the billing period.
Use cases:
  • Customer requests different delivery day
  • Adjusting timing around events
Input:
Only supports the CYCLE matcher. The new date must be within one billing cycle of the original date and cannot be in the past.

Update shipping

Updates the shipping address for a specific order.
Use cases:
  • Customer temporarily at different address
  • One-time delivery to alternate location
Input:
Address must include at least address1 and countryCode.

Update payment method

Updates the payment method for a specific order.
Use cases:
  • Use different card for specific order
  • One-time payment method override
Input:

Update products

Modifies product lines for a specific order.
Use cases:
  • One-time quantity change
  • Swap variant for single order
  • Adjust billing interval for specific cycle
Input:
Line IDs must exist in the customer’s subscriptions. Attributes are merged onto the item by key — existing keys are overwritten, unspecified keys are preserved.
Reserved/internal attribute keys cannot be set via customAttributes and will cause the request to fail with a 400 error.

Apply discount

Applies a discount (Shopify code or manual) to a specific order in the schedule.
Use cases:
  • One-time promotional discount for specific cycle
  • Loyalty reward for long-term subscribers
  • Compensation discount for service issues
The action supports two discount sources: Shopify discount codes and manual discounts.

Shopify code discount

Apply an existing Shopify discount code to the order. Input:
Discount code must exist in Shopify, be active, and apply to subscriptions. Only basic discounts and free shipping discounts are supported.

Manual discount - line items

Create a custom discount targeting line items. Input: Targeting options:
  • { "type": "all" } - Apply to all line items
  • { "type": "products", "productIds": ["gid://shopify/Product/123", ...] } - Apply to specific products
Example: Percentage discount on all items
Example: Fixed amount discount on specific products

Manual discount - shipping

Create a custom discount targeting shipping. Input: Example: Free shipping discount
Only supports the CYCLE matcher. Only supports free shipping discounts (100% off) - partial shipping discounts and fixed amount shipping discounts are not supported.