UserSubscription

Manages membership plan lifecycle for the User Subscription service. Platform users (Admin, Creator, Approver) manage plans scoped to a company and sales channel through an approval workflow. Plans move through a 7-state lifecycle (Draft, Pending Approval, Scheduled, Active, Rejected, Disabled) with role-based access control.

Audit Trail

Track all actions and state changes on membership plans. Every create, edit, submit, approve, reject, schedule, activate, and disable operation produces an audit trail entry with a full snapshot of the plan at that moment.

Operations
GET
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/audit
# Get membership audit trail
GET

Get membership audit trail

FDK Method Name: getMembershipAuditTrail
Retrieve a paginated audit trail of all plan lifecycle events. Filterable by plan_id, actor_id, and action type.
Requires membership/read access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Filter by plan ID
actor_id
string
Filter by actor user ID
action
string
Filter by action type
Enum
page
integer
Page number
Default Value : 1
page_size
integer
Items per page
Default Value : 20
Response
200
Paginated audit trail
AuditTrailList
docs
array of object (AuditTrailEntry)
Array of AuditTrailEntry
_id
string
Audit entry ID
plan_id
string
Plan ID this entry belongs to
action
string
Action performed
Enum
from_status
string
Nullable
Status before the action
to_status
string
Status after the action
actor_id
string
User ID who performed the action
actor_role
string
Role of the actor
Enum
snapshot
object
Full plan document snapshot at the time of action
comment
string
Optional comment
created_at
string
| date-time
Timestamp of the action
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
total_docs
integer
Total number of documents
limit
integer
Items per page
page
integer
Current page
total_pages
integer
Total pages
has_next_page
boolean
Whether a next page exists
has_prev_page
boolean
Whether a previous page exists
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/audit
Loading...
Response
Loading...

Membership Plans

Manage membership plan lifecycle including creation, editing, submission for approval, approval/rejection, scheduling, and disabling. Plans follow a 7-state lifecycle (Draft, Pending Approval, Scheduled, Active, Rejected, Disabled) with role-based access control for Admin, Creator, and Approver roles.

Operations
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans
# Create a membership plan
GET
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans
# List membership plans
GET
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}
# Get membership plan details
PUT
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}
# Update a membership plan
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/submit
# Submit plan for approval
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/approve
# Approve a membership plan
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/disable
# Disable a membership plan
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/reject
# Reject a membership plan
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/request-changes
# Request changes on a plan
POST

Create a membership plan

FDK Method Name: createMembershipPlan
Create a new membership plan in DRAFT status (BR-086). The plan must pass validation rules before it can be submitted for approval. The identifier must be unique per company+application and cannot contain spaces.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
Request body
identifier
string
Required
Unique plan identifier per company+application. No spaces allowed (BR-035). Immutable once set (BR-013).
duration_months
integer
| value >= 1
| value <= 36
Required
Plan duration in months (1-36, BR-030)
order_limit
integer
Nullable
Maximum number of benefit-eligible orders
price
object (PlanPrice)
Required
PlanPrice
mrp
number
Required
Maximum retail price
selling_price
number
Required
Effective selling price (must be <= MRP)
benefits
array of object (Benefit)
Required
Plan benefits (at least one required, BR-031)
Minimum Items : 1
Array of Benefit
name
string
Required
Benefit display name
description
string
Benefit description
type
string
Required
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Required
Icon URL for the benefit (BR-036)
priority
integer
Required
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
Required
SavingsCalculator
per_order_saving
number
Required
Per-order saving amount (must be > 0)
display_text
string
Required
Display text shown to users
restricted_cohorts
array of string
Cohort IDs blocked from viewing/purchasing this plan
cohort_pricing
array of object (CohortPricing)
Cohort-specific price overrides (BR-051)
Array of CohortPricing
cohort_attribute
string
Required
Cohort attribute name
cohort_value
string
Required
Cohort attribute value
price
number
Required
Override price (must be > 0 and <= MRP)
comment
string
Optional comment
Response
201
400
409
Plan created in DRAFT status
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans
Loading...
Response
Loading...
GET

List membership plans

FDK Method Name: listMembershipPlans
Retrieve a paginated list of membership plans for a company and application. Optionally filter by plan status.
Requires membership/read access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
status
string
Filter by plan status
Enum
page
integer
Page number for pagination
Default Value : 1
page_size
integer
Number of items per page
Default Value : 10
Response
200
Paginated list of plans
MembershipPlanList
docs
array of object (MembershipPlan)
Array of MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
total_docs
integer
Total number of documents
limit
integer
Items per page
page
integer
Current page
total_pages
integer
Total pages
has_next_page
boolean
Whether a next page exists
has_prev_page
boolean
Whether a previous page exists
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans
Loading...
Response
Loading...
GET

Get membership plan details

FDK Method Name: getMembershipPlan
Retrieve a single membership plan by ID, including its full audit trail history.
Requires membership/read access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Membership plan ID
Response
200
404
Plan details with audit trail
MembershipPlanDetail
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
audit_trail
array of object (AuditTrailEntry)
Plan audit trail history
Array of AuditTrailEntry
_id
string
Audit entry ID
plan_id
string
Plan ID this entry belongs to
action
string
Action performed
Enum
from_status
string
Nullable
Status before the action
to_status
string
Status after the action
actor_id
string
User ID who performed the action
actor_role
string
Role of the actor
Enum
snapshot
object
Full plan document snapshot at the time of action
comment
string
Optional comment
created_at
string
| date-time
Timestamp of the action
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
GET
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}
Loading...
Response
Loading...
PUT

Update a membership plan

FDK Method Name: updateMembershipPlan
Edit a plan. If the plan is in DRAFT or REJECTED status, it is edited in place. If the plan is ACTIVE, a new versioned DRAFT is created (BR-014) and the original remains live. The plan identifier is immutable (BR-013).
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Membership plan ID
Request body
duration_months
integer
| value >= 1
| value <= 36
Plan duration in months (1-36)
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Required
Maximum retail price
selling_price
number
Required
Effective selling price (must be <= MRP)
benefits
array of object (Benefit)
Plan benefits
Minimum Items : 1
Array of Benefit
name
string
Required
Benefit display name
description
string
Benefit description
type
string
Required
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Required
Icon URL for the benefit (BR-036)
priority
integer
Required
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Required
Per-order saving amount (must be > 0)
display_text
string
Required
Display text shown to users
restricted_cohorts
array of string
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Required
Cohort attribute name
cohort_value
string
Required
Cohort attribute value
price
number
Required
Override price (must be > 0 and <= MRP)
comment
string
Optional comment
Response
200
400
404
Plan updated (or new versioned draft created)
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
body:
body
PUT
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}
Loading...
Response
Loading...
POST

Submit plan for approval

FDK Method Name: submitMembershipPlan
Transition a DRAFT plan to PENDING_APPROVAL. Only Admin or Creator roles can submit plans.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Membership plan ID
Response
200
400
403
Plan submitted for approval
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/submit
Loading...
Response
Loading...
POST

Approve a membership plan

FDK Method Name: approveMembershipPlan
Approve a PENDING_APPROVAL plan. Set go_live to "now" for immediate activation or "scheduled" with a scheduled_at date for future go-live. Runs the activation cascade (silverbolt product validation + megatron promo validation) before transitioning.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Membership plan ID
Request body
go_live
string
Required
Activation mode
Enum
scheduled_at
string
| date-time
Future go-live date (required when go_live is "scheduled")
Response
200
400
424
Plan approved (ACTIVE or SCHEDULED)
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/approve
Loading...
Response
Loading...
POST

Disable a membership plan

FDK Method Name: disableMembershipPlan
Permanently disable an ACTIVE or SCHEDULED plan (BR-011). This is an irreversible terminal state. No fields can be changed during disable (BR-015).
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Membership plan ID
Response
200
400
Plan disabled permanently
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
Parameters are not required.
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/disable
Loading...
Response
Loading...
POST

Reject a membership plan

FDK Method Name: rejectMembershipPlan
Reject a PENDING_APPROVAL plan with a reason. The plan transitions to REJECTED status and can be revised by the Creator.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Plan ID (PENDING_APPROVAL plan for reject)
Request body
reason
string
Required
Rejection reason
Response
200
400
Plan rejected
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
plan_id:
"507f1f77bcf86cd799439022"
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/reject
Loading...
Response
Loading...
POST

Request changes on a plan

FDK Method Name: requestChangesMembershipPlan
Send a PENDING_APPROVAL plan back to DRAFT status with an optional comment. The Creator can then revise and resubmit.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
plan_id
string
Required
Plan ID (PENDING_APPROVAL plan for request-changes)
Request body
comment
string
Comment explaining what needs to change
Response
200
400
Plan returned to DRAFT
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
version
integer
Plan version number
parent_id
string
Nullable
Parent plan ID (set when this is a versioned draft)
status
string
Current plan status
Enum
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Silverbolt product ID (set on activation)
promo_ids
array of string
Megatron promo IDs (set on activation)
duration_months
integer
Plan duration in months
order_limit
integer
Nullable
Maximum benefit-eligible orders
price
object (PlanPrice)
PlanPrice
mrp
number
Maximum retail price
selling_price
number
Effective selling price (must be <= MRP)
cohort_pricing
array of object (CohortPricing)
Array of CohortPricing
cohort_attribute
string
Cohort attribute name
cohort_value
string
Cohort attribute value
price
number
Override price (must be > 0 and <= MRP)
benefits
array of object (Benefit)
Array of Benefit
name
string
Benefit display name
description
string
Benefit description
type
string
Benefit type
Enum
promo_id
string
Megatron promo rule ID (required for DELIVERY_WAIVEOFF and MEMBERSHIP_DISCOUNT)
icon
string
Icon URL for the benefit (BR-036)
priority
integer
Display priority (must be unique within a plan, BR-032)
is_monetary
boolean
Whether this benefit has monetary value
cashback_config
object (CashbackConfig)
CashbackConfig
amount
number
Fixed cashback amount per eligible order
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
savings_calculator
object (SavingsCalculator)
SavingsCalculator
per_order_saving
number
Per-order saving amount (must be > 0)
display_text
string
Display text shown to users
restricted_cohorts
array of string
comment
string
Plan comment
scheduled_at
string
| date-time
Nullable
Scheduled go-live date
rejection_reason
string
Nullable
Rejection reason (set when status is REJECTED)
activation_warnings
array of string
Non-blocking warnings from activation cascade
created_by
string
User ID of the creator
updated_by
string
User ID of last updater
created_at
string
| date-time
Creation timestamp
updated_at
string
| date-time
Last update timestamp
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
plan_id:
"507f1f77bcf86cd799439033"
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/plans/{plan_id}/request-changes
Loading...
Response
Loading...