offerId. Promotional describes the application channel, not a different catalog resource or purpose.
The Offer stays independent from plans and prices until your integration selects it.
Create the terms
Direct Offers may combine a free trial with ordered discount or fixed-price phases:Apply it directly
offerId overrides automatic introductory selection. It cannot be combined with promoCode, customTrialDays, or skipTrial: true.
Immediate plan changes, plan-change previews, and supported reactivation flows also accept offerId. Scheduled plan changes do not accept an Offer.
Apply it to an active subscription
For retention, apply an Offer to a subscription that is already active. The discount phases start at the next billing cycle, so the current period stays untouched and the next invoice carries the discount:expiresAt for the quote.
Direct application or Promo Code?
Use directofferId when your application decides who receives the terms. Use a Promo Code when the customer should enter a code and the campaign needs redemption restrictions.
A Promo Code can distribute multiple discount phases, including fixed_price, and can begin with a trial when a discount follows it. A trial-only Offer remains available for direct application.