Skip to main content
Swap the product attached to an active subscription order.
POST /v1/actions/subscription-order/change-product
Authentication: Session Token — see Customer Endpoints (customer role)
Coming Soon — This endpoint is not yet implemented and currently returns 501 Not Implemented. The request signature below is provisional and may change before GA. While not implemented, the route remains locked: calling it will not mutate any subscription state.

Request Body

FieldTypeRequiredDescription
orderIdstringYesCurrent subscription order ID (Short ID format ORD_xxx)
targetProductIdstringYesTarget product ID (Short ID format PROD_xxx)

Example Request

import { WaffoPancake } from "@waffo/pancake-ts";

const client = new WaffoPancake({
  sessionToken: window.WAFFO_SESSION_TOKEN, // injected by the merchant's portal
  environment: "prod",
});

const result = await client.orders.changeSubscriptionProduct({
  orderId: "ORD_2aUyqjCzEIiEcYMKj7TZtw",
  targetProductId: "PROD_36ZqlJPatGOsjz7AtYqAwj",
});

Current Response (501)

{
  "data": null,
  "errors": [
    {
      "message": "Not implemented",
      "layer": "order"
    }
  ]
}

Response Fields (planned)

FieldTypeDescription
orderIdstringSubscription order ID (Short ID)
statusstringOrder status after the product change

Errors

Retry policy: Never retry 4xx — fix the request and resubmit. Retry 5xx with exponential backoff (start 5s, max 3 attempts).
Statuserrors[0].messageWhat it meansRecommended handling
400Missing required field: orderIdorderId was not provided in the bodyFix the request body, then resubmit
400Missing required field: targetProductIdtargetProductId was not provided in the bodyFix the request body, then resubmit
400Expected format: ORD_xxx, got "..."orderId Short ID could not be decodedFix the orderId format, then resubmit
401Authentication failedSession token invalid, expired, or malformedRe-mint the session token via Issue Session Token
403Order does not belong to userOwnership check failedVerify the caller owns the order
404Order not foundOrder does not existVerify the order ID
501Not implementedEndpoint is not yet availableWait for GA — do not retry
500Internal server errorUnexpected server-side failureRetry with exponential backoff (start 5s, max 3 attempts)