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
Field Type Required Description orderIdstring Yes Current subscription order ID (Short ID format ORD_xxx) targetProductIdstring Yes Target product ID (Short ID format PROD_xxx)
Example Request
TypeScript (SDK)
TypeScript (Manual)
cURL
wget
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)
Field Type Description orderIdstring Subscription order ID (Short ID) statusstring Order 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).
Status errors[0].messageWhat it means Recommended handling 400 Missing required field: orderIdorderId was not provided in the bodyFix the request body, then resubmit 400 Missing required field: targetProductIdtargetProductId was not provided in the bodyFix the request body, then resubmit 400 Expected format: ORD_xxx, got "..."orderId Short ID could not be decodedFix the orderId format, then resubmit 401 Authentication failedSession token invalid, expired, or malformed Re-mint the session token via Issue Session Token 403 Order does not belong to userOwnership check failed Verify the caller owns the order 404 Order not foundOrder does not exist Verify the order ID 501 Not implementedEndpoint is not yet available Wait for GA — do not retry 500 Internal server errorUnexpected server-side failure Retry with exponential backoff (start 5s, max 3 attempts)