| Required role: | Business |
| GET | /subscription/get_plans |
|---|
"use strict";
export class PlanDetailsFreeUntil {
/** @param {{stopAt?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?string} */
stopAt;
}
/** @typedef {'Monthly'|'Yearly'} */
export var Period;
(function (Period) {
Period["Monthly"] = "Monthly"
Period["Yearly"] = "Yearly"
})(Period || (Period = {}));
export class PlanDetailsInvoice {
/** @param {{period?:Period,amount?:number,currency?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?Period} */
period;
/** @type {?number} */
amount;
/** @type {?string} */
currency;
}
export class PlanDetailsMonthlyStripe {
/** @param {{amount?:number,currency?:string,freeStartUpMonths?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
amount;
/** @type {?string} */
currency;
/** @type {?number} */
freeStartUpMonths;
}
export class PlanDetailsFreeOnClaim {
/** @param {{months?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
months;
}
export class SubscriptionPlanDetailsUnion {
/** @param {{freeUntil?:PlanDetailsFreeUntil,invoice?:PlanDetailsInvoice,monthlyStripe?:PlanDetailsMonthlyStripe,freeOnClaim?:PlanDetailsFreeOnClaim}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?PlanDetailsFreeUntil} */
freeUntil;
/** @type {?PlanDetailsInvoice} */
invoice;
/** @type {?PlanDetailsMonthlyStripe} */
monthlyStripe;
/** @type {?PlanDetailsFreeOnClaim} */
freeOnClaim;
}
JavaScript GetSubscriptionPlansRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /subscription/get_plans HTTP/1.1 Host: business-api.brovs.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
subscriptionPlan:
[
{
id: 0,
canBeSelectedByClient: False,
slug: String,
subscriptionPlanDetails:
{
freeUntil:
{
stopAt: 0001-01-01
},
invoice:
{
period: Monthly,
amount: 0,
currency: String
},
monthlyStripe:
{
amount: 0,
currency: String,
freeStartUpMonths: 0
},
freeOnClaim:
{
months: 0
}
}
}
]
}