POST /v1/catalog/course-products
CommerceService_CreateCourseProduct
The server validates credentials, tenant, environment and permissions. This page does not send requests. Replace example values; deployed server validation remains authoritative.
Parameters
No path or query parameters.
Request body
amountstringcodestringcourse_idstringcourse_namestringcourse_sourcestringcurrencystringdescriptionstringidempotency_keystringnamestringvalidity_daysinteger · int32Zero means perpetual access. Positive values are 24-hour days from payment confirmation.
cURL
curl --request POST 'https://pay.bytecome.com/v1/catalog/course-products' \
--header 'Authorization: Bearer <NEXUS_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"amount": "<value>",
"code": "<value>",
"course_id": "<value>",
"course_name": "<value>",
"course_source": "<value>",
"currency": "<value>",
"description": "<value>",
"idempotency_key": "<value>",
"name": "<value>",
"validity_days": 0
}'Response contract
200 · OK
amountstringcourse_idstringcourse_namestringcourse_sourcestringcurrencystringoffer_idstringproductobjectExpand fields
categorystringcodestringdescriptionstringidstringmetadata_jsonstringnamestringstatusstringversionstringVersion zero is the first valid optimistic-lock revision. Preserve it in JSON so clients can immediately update a newly created product.
sku_version_idstringsource_namestringsource_statusstringvalidity_daysinteger · int32
Generated responses do not enumerate every runtime error. See the integration guide for authentication, conflicts and retries.