curl --request PATCH \
--url https://api.zenskar.com/templates/plan/{plan_id}/products/{plan_product_id} \
--header 'Content-Type: application/json' \
--header 'organisation: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity": {
"type": "metered",
"label": "<string>",
"quantity": 123,
"unit": "<string>",
"aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity_entries": [
{
"value": 123,
"effective_from": "2023-12-25",
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>"
}
],
"trigger_event": "invoice_approval",
"expires_at": "end_of_product_billing_period",
"expiry_period": "<string>",
"grant_frequency_same_as_product": true,
"grant_frequency": "<string>",
"feature_option_value": "<string>",
"numeric_value": 123,
"allow_mid_cycle_cancellation": false,
"constraints": {
"min": 1,
"max": 1
}
},
"discounts": [
{
"type": "fixed",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"pricing_period": {
"cadence": "<string>"
},
"label": "<string>"
}
],
"taxes": [
{
"type": "manual",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"code": "<string>",
"unit_amount": 123
}
],
"commitments": [
{
"type": "minimum_spend",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"currency": "<string>",
"label": "<string>",
"period": {
"cadence": "<string>"
},
"charge_full_amount": false,
"skip_zero_amount": false
}
],
"free_units": [
{
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"unit": "<string>",
"period": {
"cadence": "<string>"
}
}
],
"is_optional": true,
"display_order": 1
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"pricing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_data": {
"unit_amount": 123,
"dimensions": [
{
"name": "<string>",
"column_name": "<string>"
}
],
"prices": [
1
],
"display_alias": [
"<string>"
],
"pricing_type": "<string>",
"currency": "<string>",
"label": "<string>",
"unit": "<string>",
"pricing_period": {
"cadence": "<string>"
}
},
"name": "<string>",
"description": "<string>",
"quantity": {
"type": "metered",
"label": "<string>",
"quantity": 123,
"unit": "<string>",
"aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity_entries": [
{
"value": 123,
"effective_from": "2023-12-25",
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>"
}
],
"trigger_event": "invoice_approval",
"expires_at": "end_of_product_billing_period",
"expiry_period": "<string>",
"grant_frequency_same_as_product": true,
"grant_frequency": "<string>",
"feature_option_value": "<string>",
"numeric_value": 123,
"allow_mid_cycle_cancellation": false,
"constraints": {
"min": 1,
"max": 1
},
"aggregate": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"dataschema": "<string>",
"aggregation_query": "<string>",
"cust_agg_query": "<string>",
"visual_query_builder": {},
"datasource": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}
},
"grants": [],
"consumptions": [],
"link_id": "<string>",
"free_units": [],
"discounts": [],
"commitments": [],
"taxes": [],
"payment_terms": [],
"service_fees": [],
"execution_logic": {
"additional_steps": [
{
"node_type": "<string>",
"inputs": {},
"step_name": "<string>",
"id": "<string>"
}
]
},
"is_recurring": true,
"billing_period": {
"offset": "prepaid",
"cadence": "<string>"
},
"add_to_catalog": true,
"overage_pricing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_data": {
"unit_amount": 123,
"dimensions": [
{
"name": "<string>",
"column_name": "<string>"
}
],
"prices": [
1
],
"display_alias": [
"<string>"
],
"pricing_type": "<string>",
"currency": "<string>",
"label": "<string>",
"unit": "<string>",
"pricing_period": {
"cadence": "<string>"
}
},
"name": "<string>",
"description": "<string>",
"quantity": {
"type": "metered",
"label": "<string>",
"quantity": 123,
"unit": "<string>",
"aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity_entries": [
{
"value": 123,
"effective_from": "2023-12-25",
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>"
}
],
"trigger_event": "invoice_approval",
"expires_at": "end_of_product_billing_period",
"expiry_period": "<string>",
"grant_frequency_same_as_product": true,
"grant_frequency": "<string>",
"feature_option_value": "<string>",
"numeric_value": 123,
"allow_mid_cycle_cancellation": false,
"constraints": {
"min": 1,
"max": 1
},
"aggregate": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"dataschema": "<string>",
"aggregation_query": "<string>",
"cust_agg_query": "<string>",
"visual_query_builder": {},
"datasource": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}
},
"grants": [],
"consumptions": [],
"link_id": "<string>",
"free_units": [],
"discounts": [],
"commitments": [],
"taxes": [],
"payment_terms": [],
"service_fees": [],
"execution_logic": {
"additional_steps": [
{
"node_type": "<string>",
"inputs": {},
"step_name": "<string>",
"id": "<string>"
}
]
},
"is_recurring": true,
"billing_period": {
"offset": "prepaid",
"cadence": "<string>"
},
"add_to_catalog": true,
"usage_report_configs": []
},
"usage_report_configs": []
},
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "product",
"description": "<string>",
"tags": [
"<unknown>"
],
"sku": "<string>",
"parent_link_id": "<string>",
"tax_codes": {},
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"default_pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"custom_attributes": {},
"product_category": "group",
"product_type": "time_dependent",
"product_sub_type": "quantity",
"track_usage": true,
"enum_values": [
"<string>"
],
"unit": "<string>",
"entitlements": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"entitlement_type": "Feature",
"units": "<string>",
"is_active": true,
"product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}
]
},
"quantity": {},
"discounts": [
{
"type": "fixed",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"pricing_period": {
"cadence": "<string>"
},
"label": "<string>"
}
],
"taxes": [
{
"type": "manual",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"code": "<string>",
"unit_amount": 123
}
],
"commitments": [
{
"type": "minimum_spend",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"currency": "<string>",
"label": "<string>",
"period": {
"cadence": "<string>"
},
"charge_full_amount": false,
"skip_zero_amount": false
}
],
"free_units": [
{
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"unit": "<string>",
"period": {
"cadence": "<string>"
}
}
],
"is_optional": false
}Update the pricing model, quantity configuration, or display order of a product in a plan.
For draft plans: Updates product configuration in place For active plans: Creates new version and updates the corresponding product
curl --request PATCH \
--url https://api.zenskar.com/templates/plan/{plan_id}/products/{plan_product_id} \
--header 'Content-Type: application/json' \
--header 'organisation: <api-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity": {
"type": "metered",
"label": "<string>",
"quantity": 123,
"unit": "<string>",
"aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity_entries": [
{
"value": 123,
"effective_from": "2023-12-25",
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>"
}
],
"trigger_event": "invoice_approval",
"expires_at": "end_of_product_billing_period",
"expiry_period": "<string>",
"grant_frequency_same_as_product": true,
"grant_frequency": "<string>",
"feature_option_value": "<string>",
"numeric_value": 123,
"allow_mid_cycle_cancellation": false,
"constraints": {
"min": 1,
"max": 1
}
},
"discounts": [
{
"type": "fixed",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"pricing_period": {
"cadence": "<string>"
},
"label": "<string>"
}
],
"taxes": [
{
"type": "manual",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"code": "<string>",
"unit_amount": 123
}
],
"commitments": [
{
"type": "minimum_spend",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"currency": "<string>",
"label": "<string>",
"period": {
"cadence": "<string>"
},
"charge_full_amount": false,
"skip_zero_amount": false
}
],
"free_units": [
{
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"unit": "<string>",
"period": {
"cadence": "<string>"
}
}
],
"is_optional": true,
"display_order": 1
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"plan_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_order": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"pricing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_data": {
"unit_amount": 123,
"dimensions": [
{
"name": "<string>",
"column_name": "<string>"
}
],
"prices": [
1
],
"display_alias": [
"<string>"
],
"pricing_type": "<string>",
"currency": "<string>",
"label": "<string>",
"unit": "<string>",
"pricing_period": {
"cadence": "<string>"
}
},
"name": "<string>",
"description": "<string>",
"quantity": {
"type": "metered",
"label": "<string>",
"quantity": 123,
"unit": "<string>",
"aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity_entries": [
{
"value": 123,
"effective_from": "2023-12-25",
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>"
}
],
"trigger_event": "invoice_approval",
"expires_at": "end_of_product_billing_period",
"expiry_period": "<string>",
"grant_frequency_same_as_product": true,
"grant_frequency": "<string>",
"feature_option_value": "<string>",
"numeric_value": 123,
"allow_mid_cycle_cancellation": false,
"constraints": {
"min": 1,
"max": 1
},
"aggregate": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"dataschema": "<string>",
"aggregation_query": "<string>",
"cust_agg_query": "<string>",
"visual_query_builder": {},
"datasource": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}
},
"grants": [],
"consumptions": [],
"link_id": "<string>",
"free_units": [],
"discounts": [],
"commitments": [],
"taxes": [],
"payment_terms": [],
"service_fees": [],
"execution_logic": {
"additional_steps": [
{
"node_type": "<string>",
"inputs": {},
"step_name": "<string>",
"id": "<string>"
}
]
},
"is_recurring": true,
"billing_period": {
"offset": "prepaid",
"cadence": "<string>"
},
"add_to_catalog": true,
"overage_pricing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"pricing_data": {
"unit_amount": 123,
"dimensions": [
{
"name": "<string>",
"column_name": "<string>"
}
],
"prices": [
1
],
"display_alias": [
"<string>"
],
"pricing_type": "<string>",
"currency": "<string>",
"label": "<string>",
"unit": "<string>",
"pricing_period": {
"cadence": "<string>"
}
},
"name": "<string>",
"description": "<string>",
"quantity": {
"type": "metered",
"label": "<string>",
"quantity": 123,
"unit": "<string>",
"aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity_entries": [
{
"value": 123,
"effective_from": "2023-12-25",
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>"
}
],
"trigger_event": "invoice_approval",
"expires_at": "end_of_product_billing_period",
"expiry_period": "<string>",
"grant_frequency_same_as_product": true,
"grant_frequency": "<string>",
"feature_option_value": "<string>",
"numeric_value": 123,
"allow_mid_cycle_cancellation": false,
"constraints": {
"min": 1,
"max": 1
},
"aggregate": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"dataschema": "<string>",
"aggregation_query": "<string>",
"cust_agg_query": "<string>",
"visual_query_builder": {},
"datasource": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}
},
"grants": [],
"consumptions": [],
"link_id": "<string>",
"free_units": [],
"discounts": [],
"commitments": [],
"taxes": [],
"payment_terms": [],
"service_fees": [],
"execution_logic": {
"additional_steps": [
{
"node_type": "<string>",
"inputs": {},
"step_name": "<string>",
"id": "<string>"
}
]
},
"is_recurring": true,
"billing_period": {
"offset": "prepaid",
"cadence": "<string>"
},
"add_to_catalog": true,
"usage_report_configs": []
},
"usage_report_configs": []
},
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "product",
"description": "<string>",
"tags": [
"<unknown>"
],
"sku": "<string>",
"parent_link_id": "<string>",
"tax_codes": {},
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"default_pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"custom_attributes": {},
"product_category": "group",
"product_type": "time_dependent",
"product_sub_type": "quantity",
"track_usage": true,
"enum_values": [
"<string>"
],
"unit": "<string>",
"entitlements": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"entitlement_type": "Feature",
"units": "<string>",
"is_active": true,
"product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}
]
},
"quantity": {},
"discounts": [
{
"type": "fixed",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"pricing_period": {
"cadence": "<string>"
},
"label": "<string>"
}
],
"taxes": [
{
"type": "manual",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"code": "<string>",
"unit_amount": 123
}
],
"commitments": [
{
"type": "minimum_spend",
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"currency": "<string>",
"label": "<string>",
"period": {
"cadence": "<string>"
},
"charge_full_amount": false,
"skip_zero_amount": false
}
],
"free_units": [
{
"unit_amount": 123,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"identifier": "<string>",
"priority": 123,
"label": "<string>",
"unit": "<string>",
"period": {
"cadence": "<string>"
}
}
],
"is_optional": false
}Documentation Index
Fetch the complete documentation index at: https://docs2.zenskar.com/llms.txt
Use this file to discover all available pages before exploring further.
Request schema for updating a plan product
Attributes: pricing_id: Reference to pricing model (allows changing pricing for product) quantity: Quantity configuration with plan-level constraints discounts: Product-level discounts taxes: Product-level taxes commitments: Commitment requirements for this product free_units: Free units for this product display_order: Display order
Pricing model ID
Quantity configuration with plan-level constraints
Show child attributes
Product-level discounts
Show child attributes
Product-level taxes
Show child attributes
Commitment requirements for this product
Show child attributes
Free units for this product
Show child attributes
When True, customers can enable/disable this product in self-serve checkout
Display order
x >= 0Plan product updated successfully
Response schema for plan products
Product is derived from the pricing model relationship and enriched by service.
Attributes: id: Plan-product association ID plan_id: Reference to plan pricing_id: Reference to pricing model pricing: Full pricing object (populated via joinedload) product: Product associated with this pricing (enriched by service) quantity: Quantity configuration with plan-level constraints discounts: Product-level discounts taxes: Product-level taxes commitments: Commitment requirements for this product free_units: Free units for this product display_order: Display order created_at: Creation timestamp updated_at: Last update timestamp
Plan-product association ID
Plan ID
Pricing model ID
Display order
Creation timestamp
Last update timestamp
Full pricing details
Show child attributes
Product associated with this pricing (enriched by service)
Show child attributes
Quantity configuration with plan-level constraints
Product-level discounts
Show child attributes
Product-level taxes
Show child attributes
Commitment requirements for this product
Show child attributes
Free units for this product
Show child attributes
When True, customers can enable/disable this product in self-serve checkout