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).
plan_name
string
Required
Internal plan name.
display_name
string
Required
Customer-facing plan display name.
description
string
Customer-facing plan description.
duration_months
integer
| value >= 1
| value <= 36
Required
Plan duration in months (1-36, BR-030)
trial_period_days
integer
| value >= 0
Trial period in days.
order_limit
integer
Nullable
Maximum number of benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted.
Enum
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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_name
string
Required
User group UID used for cohort-specific membership price matching.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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 and low-latency subscriber statistics for the platform detail screen.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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
subscriber_stats
object (SubscriberStats)
SubscriberStats
active_subscribers
integer
| value >= 0
Unique customers with a currently active subscription for this canonical plan.
total_subscribed_users
integer
| value >= 0
Unique customers who have ever subscribed to this canonical plan.
expired_subscriptions
integer
| value >= 0
Expired subscription records for this canonical plan, including stale SUBSCRIBED rows past valid_until.
resubscribed_subscriptions
integer
| value >= 0
Customers with more than one subscription record for this canonical plan.
benefits_exhausted_subscriptions
integer
| value >= 0
Active subscription records whose benefit quota is exhausted for this canonical plan.
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
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. First-time DRAFT or REJECTED plans without parent_id can be edited in place. If the plan is ACTIVE, a workflow DRAFT is created from the active plan and only benefits/internal_notes can be changed. Approval of that workflow draft merges the allowed changes into the original active plan and deletes the workflow draft, so subscriber plan_id remains stable. 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
plan_name
string
Internal plan name.
display_name
string
Customer-facing plan display name.
description
string
Customer-facing plan description.
duration_months
integer
| value >= 1
| value <= 36
Plan duration in months (1-36)
trial_period_days
integer
| value >= 0
Trial period in days.
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted.
Enum
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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_name
string
Required
User group UID used for cohort-specific membership price matching.
price
number
Required
Override price (must be > 0 and <= MRP)
comment
string
Optional legacy comment field
internal_notes
string
Internal note for benefit-only active plan edits. Stored as comment by the service.
Response
200
400
404
Plan updated, or active-plan workflow draft created
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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. If go_live is omitted, the service uses the saved scheduled_at value on the draft plan to decide whether activation should be immediate or scheduled. Scheduled approvals create the Megatron promotion in an approved but unpublished state until the scheduled start time. 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
Optional activation mode override. If omitted, the service uses the plan's saved scheduled_at value.
Enum
scheduled_at
string
| date-time
Future go-live date override (required when go_live is "scheduled" and the plan does not already have a saved scheduled_at)
Response
200
400
424
Plan approved (ACTIVE or SCHEDULED)
MembershipPlan
_id
string
Plan document ID
identifier
string
Unique plan identifier
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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
plan_name
string
Internal plan name
display_name
string
Customer-facing plan display name
description
string
Customer-facing plan description
version
integer
Plan version number
parent_id
string
Nullable
Parent/canonical plan ID when this document is an active-edit workflow draft
canonical_plan_id
string
Nullable
Stable subscriber-facing plan ID. Equals _id for canonical plans and parent_id for workflow drafts.
base_version
integer
Nullable
Canonical plan version captured when an active-edit workflow draft was created.
base_updated_at
string
| date-time
Nullable
Canonical plan updated_at captured when an active-edit workflow draft was created.
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)
user_group_id
string
Nullable
Cerebro user group ID created for subscribed customers
attribute_definition_id
string
Nullable
Cerebro customer attribute definition ID used for subscription cohorts
duration_months
integer
Plan duration in months
trial_period_days
integer
Trial period in days
tier_description
string
Optional tier description
order_limit
integer
Nullable
Maximum benefit-eligible orders
order_limit_behavior
string
Behavior when the order limit is exhausted
Enum
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_name
string
User group UID used for cohort-specific membership price matching.
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
value
number
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
value_type
string
Required for MEMBERSHIP_DISCOUNT and SUPERCASH benefits.
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...