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.

AJIO Membership Sync

Platform APIs used by AJIO to synchronize externally-originated membership subscription and order-savings state into FYND.

Operations
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/subscription/add
# Sync AJIO membership subscription addition
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/subscription/end
# Sync AJIO membership subscription end
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/subscription/orders/savings
# Sync AJIO membership order savings
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/plan
# Sync AJIO membership plan create
PATCH
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/plan/{identifier}
# Sync AJIO membership plan update
POST

Sync AJIO membership subscription addition

FDK Method Name: syncAjioMembershipSubscriptionAdd
Ingests an AJIO-originated membership subscription addition event and creates or renews the corresponding FYND member subscription.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
Request body
event_id
string
Required
AJIO event id used for idempotency
source_updated_at
string
| date-time
Required
customer_id
string
Required
plan_identifier
string
Required
purchase_date
string
| date-time
Required
valid_until
string
| date-time
Required
meta
object (AjioSubscriptionMeta)
Required
AjioSubscriptionMeta
ajio_user_id
string
Required
ajio_subscription_id
string
Required
Response
200
400
404
409
Subscription add event processed idempotently
AjioSyncResult
success
boolean
skipped
boolean
reason
string
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
company_id:
"value"
application_id:
"value"
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/subscription/add
Loading...
Response
Loading...
POST

Sync AJIO membership subscription end

FDK Method Name: syncAjioMembershipSubscriptionEnd
Ingests an AJIO-originated membership subscription expiry or disable event and ends the matching active FYND member subscription.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
Request body
event_id
string
Required
source_updated_at
string
| date-time
Required
customer_id
string
Required
plan_identifier
string
Required
ended_at
string
| date-time
Required
expiry_reason
string
Required
Enum
ajio_order_id
string
Optional exhausting AJIO order id when expiry_reason is ORDER_LIMIT_EXHAUSTED
Response
200
400
404
Subscription end event processed idempotently
AjioSyncResult
success
boolean
skipped
boolean
reason
string
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
company_id:
"value"
application_id:
"value"
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/subscription/end
Loading...
Response
Loading...
POST

Sync AJIO membership order savings

FDK Method Name: syncAjioMembershipOrderSavings
Ingests AJIO's final order-level membership savings state. Repeated updates for the same AJIO order update the existing order record and apply only the delta to subscription-level savings.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
Request body
event_id
string
Required
source_updated_at
string
| date-time
Required
customer_id
string
Required
plan_identifier
string
Required
ajio_order_id
string
Required
order_state
string
Required
Enum
order_count_applied
boolean
Required
savings
object (AjioSavingsBreakdown)
Required
AjioSavingsBreakdown
membership_discount
number
Default Value : 0
delivery_fee
number
Default Value : 0
platform_fee
number
Default Value : 0
cashback_earned
number
Default Value : 0
Response
200
400
404
409
Order savings event processed idempotently
AjioSyncResult
success
boolean
skipped
boolean
reason
string
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
company_id:
"value"
application_id:
"value"
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/subscription/orders/savings
Loading...
Response
Loading...
POST

Sync AJIO membership plan create

FDK Method Name: syncAjioMembershipPlanCreate
Ingests an AJIO-originated active membership plan create event. The created FYND plan is activated directly and the service runs the same product, user group, promotion, and customer-attribute side effects as plan approval.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
Request body
event_id
string
Required
AJIO event id used for idempotency.
source_updated_at
string
| date-time
Required
identifier
string
Required
Immutable AJIO plan identifier stored as the FYND plan identifier.
product_id
string
Required
Existing Silverbolt product ID mapped to this membership plan.
product_slug
string
Optional product slug. If omitted, FYND derives it from Silverbolt.
plan_name
string
Required
display_name
string
Required
description
string
status
string
Required
Enum
duration_months
integer
| value >= 1
| value <= 36
Required
order_limit
integer
| value >= 1
Required
order_limit_behavior
string
Required
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 (AjioPlanBenefit)
Required
Array of AjioPlanBenefit
type
string
Required
FYND stores supported benefit types. PRIORITY_CUSTOMER_SUPPORT is accepted from AJIO for forward compatibility and ignored by FYND.
Enum
name
string
Required
description
string
Required
value
number
Required only for MEMBERSHIP_DISCOUNT.
value_type
string
Required only for MEMBERSHIP_DISCOUNT.
Enum
icon
string
Required
priority
integer
Required
is_monetary
boolean
Required
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
comment
string
created_by
string
Required
updated_by
string
Required
version
integer
| value >= 1
Required
Response
200
400
404
409
Plan create event processed idempotently
AjioSyncResult
success
boolean
skipped
boolean
reason
string
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
company_id:
"value"
application_id:
"value"
body:
body
POST
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/plan
Loading...
Response
Loading...
PATCH

Sync AJIO membership plan update

FDK Method Name: syncAjioMembershipPlanUpdate
Ingests an AJIO-originated active membership plan update or disable event. The plan identifier is immutable and must be sent only in the path. The request body can update only cosmetic fields, benefits, savings calculator display values, comment, or disable status.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
identifier
string
Required
Immutable AJIO membership plan identifier
Request body
event_id
string
Required
AJIO event id used for idempotency.
source_updated_at
string
| date-time
Required
plan_name
string
display_name
string
description
string
benefits
array of object (AjioPlanBenefit)
Array of AjioPlanBenefit
type
string
Required
FYND stores supported benefit types. PRIORITY_CUSTOMER_SUPPORT is accepted from AJIO for forward compatibility and ignored by FYND.
Enum
name
string
Required
description
string
Required
value
number
Required only for MEMBERSHIP_DISCOUNT.
value_type
string
Required only for MEMBERSHIP_DISCOUNT.
Enum
icon
string
Required
priority
integer
Required
is_monetary
boolean
Required
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
comment
string
status
string
Enum
updated_by
string
Required
version
integer
| value >= 1
Required
Response
200
400
404
409
Plan update event processed idempotently
AjioSyncResult
success
boolean
skipped
boolean
reason
string
additionalProperties
Allows you to attach properties in addition to the ones mentioned above. Any additional properties are allowed.
Examples
Parameters
company_id:
"value"
application_id:
"value"
identifier:
"value"
body:
body
PATCH
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/sync/membership/plan/{identifier}
Loading...
Response
Loading...

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_email
string
Nullable
Actor email resolved from x-user-data when available
actor_name
string
Nullable
Actor display name resolved from x-user-data when available
actor_username
string
Nullable
Actor username resolved from x-user-data when available
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 Cashback

Update cashback savings for membership orders after AJIO cash activation events are processed by the caller.

Operations
PUT
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/cashback
# Update cashback savings for a membership order
PUT

Update cashback savings for a membership order

FDK Method Name: updateMembershipCashbackSavings
Records AJIO cash activation cashback at order level and increments the linked active customer subscription once. Repeated requests for an order whose cashback is already recorded return an idempotent success response.
Requires membership/write access scope.
Parameters
company_id
string
Required
Company ID
application_id
string
Required
Application (sales channel) ID
Request body
fynd_order_id
string
Required
Fynd order id from the AJIO cash activation event.
Minimum Length : 1
activated_points
number
| value >= 0.01
Required
Positive cashback amount activated for the order.
user_id
string
Required
Customer id from the AJIO cash activation event payload.
Minimum Length : 1
Response
200
400
404
409
Cashback was updated, or the order had already been processed.
CashbackSavingsUpdateResult
success
boolean
Whether the request was accepted successfully.
status
string
Cashback processing state for the order.
Enum
fynd_order_id
string
Fynd order id that was updated.
user_id
string
Customer id supplied in the cashback payload.
subscription_id
string
Membership subscription id linked to the order.
plan_id
string
Nullable
Membership plan id linked to the subscription, when present.
cashback_earned
number
Cashback amount recorded for the order.
Examples
Parameters
company_id:
"1"
application_id:
"000000000000000000000001"
body:
body
PUT
/service/platform/user-subscription/v1.0/company/{company_id}/application/{application_id}/membership/cashback
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
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
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 and search by plan name.
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
q
string
Search text for matching membership plans by plan name
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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_email
string
Nullable
Actor email resolved from x-user-data when available
actor_name
string
Nullable
Actor display name resolved from x-user-data when available
actor_username
string
Nullable
Actor username resolved from x-user-data when available
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). If the active plan has a SUPERCASH benefit, the benefit cannot be removed and its description cannot be changed in active-derived edits.
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 shown to customers.
description
string
Benefit description
type
string
Required
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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 display name shown to sellers.
cohort_uid
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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 before transitioning. Approval maps the plan to the existing Silverbolt product supplied on the draft, verifies the product exists, ensures the product is not linked to another sellable membership plan, then runs pricing, application visibility, Cerebro and Megatron steps.
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
409
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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
active
boolean
Whether this plan is currently sellable. False for disabled stop-selling plans.
company_id
string
Company ID
application_id
string
Application (sales channel) ID
product_id
string
Nullable
Existing Silverbolt product ID supplied at draft creation, verified on approval, and immutable after activation.
product_slug
string
Nullable
Storefront product slug supplied at draft creation, verified/finalized on approval, and immutable after 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 display name shown to sellers.
cohort_uid
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 shown to customers.
description
string
Benefit description
type
string
Benefit type
Enum
value
number
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
value_type
string
Required only for MEMBERSHIP_DISCOUNT benefits. Must be omitted for SUPERCASH and included-benefit types.
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...