Coupon related issue!

I want to auto change a coupon for my customer after he has certain points, I am using the following code, the coupon is working however the coupon is for All billing circle not for one time, so after my customer use the coupon, they are free for lifetime(:rofl:). Can anyone help me to solve this issue? Thanks a lot.
exportfunction myCreateCoupon ( discount , code ){
//let couponecode = Math.trunc(Math.random() * 1000).toString() +“E”+Math.trunc(Math.random() * 1000000).toString()
let couponInfo = {
“name” : “MyCoupon” ,
“code” : code ,
“startTime” : new Date (),
“expirationTime” : new Date ( new Date (). getTime () + 24 * 60 * 60 * 1000 * 90 ),
“usageLimit” : 1 ,
“limitedToOneItem” : true ,
“limitPerCustomer” : 1 ,
“active” : true ,
“scope” : { // Coupon applies to all pricing plans
“namespace” : “pricingPlans”
},
“percentOffRate” : discount ,
}
// return {“id”:coupons.createCoupon(couponInfo),“code”:couponInfo.code};
return coupons . createCoupon ( couponInfo );
}