---
title: "Create Product Module"
method: POST
path: "/productmodule"
tags: ["Product Module"]
---

# Create Product Module

`POST /productmodule`

## Request

- Base URL: `https://go.netlicensing.io/core/v2/rest`
- URL: `https://go.netlicensing.io/core/v2/rest/productmodule`
- Auth: HTTP basic

Creates a new Product Module

## Request body `application/x-www-form-urlencoded`

- object
  - `productNumber` string, required: Unique number (across all Products of a Vendor) that identifies the Product Module. Vendor can assign this number when creating a Product Module or let NetLicensing generate one. Read-only after creation of the first Licensee for the Product.
  - `number` string: Unique number (across all Products of a Vendor) that identifies the Product Module. Vendor can assign this number when creating a Product Module or let NetLicensing generate one. Read-only after creation of the first Licensee for the Product.
  - `active` boolean, required: If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module.
  - `name` string, required: Product Module name that is visible to the end customers in NetLicensing Shop.
  - `licensingModel` string, required: Licensing model applied to this Product Module. Defines what License Templates can be configured for the Product Module and how Licenses for this Product Module are processed during validation.
  - `maxCheckoutValidity` integer: Maximum checkout validity (days). Mandatory for 'Floating' licensing model.
  - `yellowThreshold` integer: Remaining time volume for yellow level. Mandatory for 'Rental' licensing model.
  - `redThreshold` integer: Remaining time volume for red level. Mandatory for 'Rental' licensing model.
  - `nodeSecretMode` string[]: Secret Mode. Mandatory for 'Node-Locked' licensing model.
  - `licenseTemplate` string[]: License Template. Mandatory for 'Try &amp; Buy' licensing model.

## Response `200`

Successful request

- Netlicensing
  - `infos` Infos
  - `items` Items

## Other responses

- `400`: Malformed or illegal request
- `402`: Quota exceeded
- `403`: Access is denied
- `404`: Resource not found
- `500`: Internal service error

## Changes

- **2026-07-13** `32bb94715eca`: 1 info
  - added the non-success response with the status `402`

[Operation history](https://skmtc.dev/labs64/apis/labs64-netlicensing-restful-api-test-center/changes/productmodule/post.md)

---

[API](https://skmtc.dev/labs64/apis/labs64-netlicensing-restful-api-test-center.md) - [All operations](https://skmtc.dev/labs64/apis/labs64-netlicensing-restful-api-test-center/llms.txt) - [OpenAPI document](https://skmtc.dev/labs64/apis/labs64-netlicensing-restful-api-test-center/revisions/32bb94715eca?raw)
