# NetLicensing REST API > NetLicensing REST API for vendors and API-key clients (REST v2). Interactive test center: https://netlicensing.io/NetLicensing-API/ (demo account: username `demo`, password `demo`). - Base URL: https://go.netlicensing.io/core/v2/rest - OpenAPI 3.1.1 specification: https://netlicensing.io/NetLicensing-API/v2.x/netlicensing.yaml - API version: 2.x - Documentation: https://netlicensing.io/wiki/restful-api - Authentication: HTTP Basic – vendor username/password, or username `apiKey` with an API key as password. - Requests: `application/x-www-form-urlencoded`. Responses: XML by default, JSON with `Accept: application/json`. - List filtering: `filter` query parameter with `key=value` pairs separated by `;` (`page`, `items`, `sortorder`, `sortdirection`). - Errors: a missing entity returns 400 (not 404); 429 means retry after `Retry-After` seconds. ## Product Products are the top-level entities that hold your product modules, licensees and discounts. - `GET /product` – List products - `POST /product` – Create product - `GET /product/{productNumber}` – Get product - `POST /product/{productNumber}` – Update product - `DELETE /product/{productNumber}` – Delete product - `POST /product/{productNumber}/discount/{promoCode}/resolve` – Resolve a promo code to its discount license template ## ProductModule Product modules are the licensable parts of a product. Each module uses one licensing model. - `GET /productmodule` – List product modules - `POST /productmodule` – Create product module - `GET /productmodule/{productModuleNumber}` – Get product module - `POST /productmodule/{productModuleNumber}` – Update product module - `DELETE /productmodule/{productModuleNumber}` – Delete product module ## LicenseTemplate License templates define what a license grants (type, price, currency) within a product module. - `GET /licensetemplate` – List license templates - `POST /licensetemplate` – Create license template - `GET /licensetemplate/{licenseTemplateNumber}` – Get license template - `POST /licensetemplate/{licenseTemplateNumber}` – Update license template - `DELETE /licensetemplate/{licenseTemplateNumber}` – Delete license template ## Licensee Licensees are your customers' installations or users. Includes license validation and transfer. - `GET /licensee` – List licensees - `POST /licensee` – Create licensee - `GET /licensee/{licenseeNumber}` – Get licensee - `POST /licensee/{licenseeNumber}` – Update licensee - `DELETE /licensee/{licenseeNumber}` – Delete licensee - `GET /licensee/{licenseeNumber}/validate` – Validate licensee (deprecated GET form) (deprecated) - `POST /licensee/{licenseeNumber}/validate` – Validate licensee - `POST /licensee/{licenseeNumber}/transfer` – Transfer licenses from a source licensee to this licensee ## License Licenses are issued to a licensee from a license template. - `GET /license` – List licenses - `POST /license` – Create license - `GET /license/{licenseNumber}` – Get license - `POST /license/{licenseNumber}` – Update license - `DELETE /license/{licenseNumber}` – Delete license ## Transaction Transactions record purchases and automatic license changes. - `GET /transaction` – List transactions - `POST /transaction` – Create transaction - `GET /transaction/{transactionNumber}` – Get transaction - `POST /transaction/{transactionNumber}` – Update transaction - `GET /transaction/{transactionNumber}/sendorderconfirmation` – Send the order confirmation e-mail for a transaction ## Token Tokens grant temporary or API-key access, and create shop links for licensees. - `GET /token` – List active tokens - `POST /token` – Create token - `GET /token/{tokenNumber}` – Get token - `DELETE /token/{tokenNumber}` – Delete token ## PaymentMethod Payment methods available in the NetLicensing shop. - `GET /paymentmethod` – List payment methods - `GET /paymentmethod/{paymentMethodNumber}` – Get payment method - `POST /paymentmethod/{paymentMethodNumber}` – Update payment method ## Bundle Bundles group several license templates so they can be sold and issued together. - `GET /bundle` – List bundles - `POST /bundle` – Create bundle - `GET /bundle/{bundleNumber}` – Get bundle - `POST /bundle/{bundleNumber}` – Update bundle - `DELETE /bundle/{bundleNumber}` – Delete bundle - `POST /bundle/{bundleNumber}/obtain` – Create the bundle's licenses for a licensee ## Notification Notifications send webhooks to your endpoint when selected events happen. - `GET /notification` – List notifications (webhooks) - `POST /notification` – Create notification - `GET /notification/{notificationNumber}` – Get notification - `POST /notification/{notificationNumber}` – Update notification - `DELETE /notification/{notificationNumber}` – Delete notification ## Utility Reference data such as licensing models, license types, countries and currencies. - `GET /utility/licensingModels` – List licensing models - `GET /utility/licenseTypes` – List license types - `GET /utility/countries` – List countries - `GET /utility/currencies` – List currencies ## LicensingModel Extra operations offered by specific licensing models. - `GET /licensingmodel/PricingTable/render` – Render the HTML pricing table of a PricingTable product module ## Reporting Chart data for usage and revenue reports. - `GET /reporting/{reportName}` – Get a chart report ## Optional - NetLicensing website: https://netlicensing.io - Source of this test center: https://github.com/Labs64/NetLicensing-API