POST /v1/catalog/composed-products/{product_id}/revisions
CommerceService_CreateComposedProductRevision
The server validates credentials, tenant, environment and permissions. This page does not send requests. Replace example values; deployed server validation remains authoritative.
Parameters
product_idpath · string · required
Request body
billing_periodstringcomponentsarrayExpand fields
capability_idstringincluded_quantitystringquantitystringsort_orderinteger · int32
expected_versionstringinterval_countinteger · int32product_idstringsales_modelstringtrial_daysinteger · int32
cURL
curl --request POST 'https://nexus-api.rainlib.com/v1/catalog/composed-products/{product_id}/revisions' \
--header 'Authorization: Bearer <NEXUS_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"billing_period": "<value>",
"components": [
{
"capability_id": "<value>",
"included_quantity": "<value>",
"quantity": "<value>",
"sort_order": 0
}
],
"expected_version": "<value>",
"interval_count": 0,
"sales_model": "<value>",
"trial_days": 0
}'Response contract
200 · OK
componentsarrayExpand fields
capability_codestringcapability_idstringcapability_kindstringcapability_namestringcapability_revision_idstringidstringincluded_quantitystringmeter_codestringmeter_idstringquantitystringsku_version_idstringsort_orderinteger · int32
offerobjectExpand fields
codestringidstringnamestringsales_modelstringstatusstring
planobjectExpand fields
billing_periodstringcodestringidstringinterval_countinteger · int32itemsarrayExpand fields
included_quantitystringmeter_codestringmeter_idstringquantitystringsku_codestringsku_display_namestringsku_idstringsku_version_idstringsort_orderinteger · int32
namestringproduct_idstringstatusstringtrial_daysinteger · int32version_idstringversion_nointeger · int32version_statusstring
priceobjectExpand fields
amountstringcurrencystringprice_book_idstringpricing_modelstringrevisioninteger · int32rule_set_idstringstatusstring
price_readybooleanPresence is significant: false means the product exists but still needs a published price. Keep the field on the wire instead of letting proto3 JSON omit the false value and forcing Console clients to guess.
productobjectExpand fields
categorystringcodestringdescriptionstringidstringmetadata_jsonstringnamestringstatusstringversionstringVersion zero is the first valid optimistic-lock revision. Preserve it in JSON so clients can immediately update a newly created product.
Generated responses do not enumerate every runtime error. See the integration guide for authentication, conflicts and retries.