Labs64 NetLicensing RESTful API Test Center icon

Labs64 NetLicensing RESTful API Test Center

The Labs64 <a href='https://netlicensing

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://go.netlicensing.io/core/v2/rest"
    }
  ],
  "info": {
    "description": "The Labs64 <a href='https://netlicensing.io/wiki/restful-api' target='_blank'>NetLicensing RESTful API</a> gives you access to NetLicensing’s core features.<br/><br/><strong>Authentication</strong><br/>You authenticate to the NetLicensing API by providing your account credentials or simply use our demo account - <code>demo:demo</code><br/><br/>Find out more about Labs64 NetLicensing at <a href='https://netlicensing.io' target='_blank'>netlicensing.io</a>",
    "termsOfService": "https://www.labs64.com/legal/terms-of-service/netlicensing",
    "title": "Labs64 NetLicensing RESTful API Test Center",
    "version": "2.x",
    "x-apisguru-categories": [
      "developer_tools"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_www.labs64.com_content_uploads_2015_06_labs64-logo.png"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "http://io.labs64.com/NetLicensing-API/v2.x/netlicensing.json",
        "version": "3.0"
      }
    ],
    "x-providerName": "netlicensing.io"
  },
  "tags": [
    {
      "description": "Product operations",
      "externalDocs": {
        "description": "Product Services",
        "url": "https://netlicensing.io/wiki/product-services"
      },
      "name": "Product"
    },
    {
      "description": "Product Module operations",
      "externalDocs": {
        "description": "Product Module Services",
        "url": "https://netlicensing.io/wiki/product-module-services"
      },
      "name": "Product Module"
    },
    {
      "description": "License Template operations",
      "externalDocs": {
        "description": "License Template Services",
        "url": "https://netlicensing.io/wiki/license-template-services"
      },
      "name": "License Template"
    },
    {
      "description": "Licensee operations",
      "externalDocs": {
        "description": "Licensee Services",
        "url": "https://netlicensing.io/wiki/licensee-services"
      },
      "name": "Licensee"
    },
    {
      "description": "License operations",
      "externalDocs": {
        "description": "License Services",
        "url": "https://netlicensing.io/wiki/license-services"
      },
      "name": "License"
    },
    {
      "description": "Transaction operations",
      "externalDocs": {
        "description": "Transaction Services",
        "url": "https://netlicensing.io/wiki/transaction-services"
      },
      "name": "Transaction"
    },
    {
      "description": "Token operations",
      "externalDocs": {
        "description": "Token Services",
        "url": "https://netlicensing.io/wiki/token-services"
      },
      "name": "Token"
    },
    {
      "description": "Payment Method operations",
      "externalDocs": {
        "description": "Payment Method Services",
        "url": "https://netlicensing.io/wiki/payment-method-services"
      },
      "name": "Payment Method"
    },
    {
      "description": "Utility operations",
      "externalDocs": {
        "description": "Utility Services",
        "url": "https://netlicensing.io/wiki/utility-services"
      },
      "name": "Utility"
    }
  ],
  "paths": {
    "/license": {
      "get": {
        "description": "Return a list of all Licenses for the current Vendor",
        "operationId": "listLicenses",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Licenses",
        "tags": [
          "License"
        ]
      },
      "post": {
        "description": "Creates a new License",
        "operationId": "createLicense",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "type": "boolean"
                  },
                  "currency": {
                    "description": "Specifies currency for the License price. Check data types to discover which currencies are supported. Read-only, set from License Template on creation",
                    "type": "string"
                  },
                  "hidden": {
                    "description": "If set to 'true', this License is not shown in NetLicensing Shop as purchased License. Set from License Template on creation, if not specified explicitly",
                    "type": "boolean"
                  },
                  "licenseTemplateNumber": {
                    "type": "string"
                  },
                  "licenseeNumber": {
                    "type": "string"
                  },
                  "name": {
                    "description": "Name for the Licensed item. Set from License Template on creation, if not specified explicitly.",
                    "type": "string"
                  },
                  "number": {
                    "type": "string"
                  },
                  "parentfeature": {
                    "description": "Mandatory for 'TIMEVOLUME' License Type and 'RENTAL' licensing model",
                    "type": "string"
                  },
                  "price": {
                    "description": "Price for the License. If >0, it must always be accompanied by the currency specification. Read-only, set from License Template on creation",
                    "format": "double",
                    "type": "number"
                  },
                  "quantity": {
                    "description": "Mandatory for 'Pay-per-Use' License Model.",
                    "type": "string"
                  },
                  "startDate": {
                    "description": "Mandatory for 'TIMEVOLUME' License Type.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "timeVolume": {
                    "description": "Mandatory for 'TIMEVOLUME' License Type.",
                    "type": "string"
                  },
                  "timeVolumePeriod": {
                    "description": "For 'TIMEVOLUME' License Type.",
                    "type": "string"
                  },
                  "usedQuantity": {
                    "description": "Mandatory for 'Pay-per-Use' License Model.",
                    "type": "string"
                  }
                },
                "required": [
                  "licenseeNumber",
                  "licenseTemplateNumber",
                  "active"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create License",
        "tags": [
          "License"
        ]
      }
    },
    "/license/{licenseNumber}": {
      "delete": {
        "description": "Delete License by a 'licenseNumber'",
        "operationId": "deleteLicense",
        "parameters": [
          {
            "description": "Unique number (across all Products/Licensees of a Vendor) that identifies the License. Vendor can assign this number when creating a License or let NetLicensing generate one. Read-only after corresponding creation Transaction status is set to closed.",
            "in": "path",
            "name": "licenseNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Delete License",
        "tags": [
          "License"
        ]
      },
      "get": {
        "description": "Get License by a 'licenseNumber'",
        "operationId": "getLicense",
        "parameters": [
          {
            "description": "Unique number (across all Products/Licensees of a Vendor) that identifies the License. Vendor can assign this number when creating a License or let NetLicensing generate one. Read-only after corresponding creation Transaction status is set to closed.",
            "in": "path",
            "name": "licenseNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get License",
        "tags": [
          "License"
        ]
      },
      "post": {
        "description": "Update License by a 'licenseNumber'",
        "operationId": "updateLicense",
        "parameters": [
          {
            "description": "Unique number (across all Products/Licensees of a Vendor) that identifies the License. Vendor can assign this number when creating a License or let NetLicensing generate one. Read-only after corresponding creation Transaction status is set to closed.",
            "in": "path",
            "name": "licenseNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "type": "boolean"
                  },
                  "currency": {
                    "description": "Specifies currency for the License price. Check data types to discover which currencies are supported. Read-only, set from License Template on creation",
                    "type": "string"
                  },
                  "hidden": {
                    "description": "If set to 'true', this License is not shown in NetLicensing Shop as purchased License. Set from License Template on creation, if not specified explicitly",
                    "type": "boolean"
                  },
                  "name": {
                    "description": "Name for the Licensed item. Set from License Template on creation, if not specified explicitly.",
                    "type": "string"
                  },
                  "number": {
                    "description": "Unique number (across all Products/Licensees of a Vendor) that identifies the License. Vendor can assign this number when creating a License or let NetLicensing generate one. Read-only after corresponding creation Transaction status is set to closed.",
                    "type": "string"
                  },
                  "parentfeature": {
                    "type": "string"
                  },
                  "price": {
                    "description": "Price for the License. If > 0, it must always be accompanied by the currency specification. Read-only, set from License Template on creation",
                    "format": "double",
                    "type": "number"
                  },
                  "quantity": {
                    "description": "Mandatory for 'Pay-per-Use' License Model.",
                    "type": "string"
                  },
                  "startDate": {
                    "description": "For 'TIMEVOLUME' License type",
                    "format": "date-time",
                    "type": "string"
                  },
                  "timeVolume": {
                    "description": "Mandatory for 'TIMEVOLUME' License Type.",
                    "type": "string"
                  },
                  "timeVolumePeriod": {
                    "description": "For 'TIMEVOLUME' License Type.",
                    "type": "string"
                  },
                  "usedQuantity": {
                    "description": "Mandatory for 'Pay-per-Use' License Model.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update License",
        "tags": [
          "License"
        ]
      }
    },
    "/licensee": {
      "get": {
        "description": "Return a list of all Licensees for the current Vendor",
        "operationId": "listLicensees",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Licensees",
        "tags": [
          "Licensee"
        ]
      },
      "post": {
        "description": "Creates a new Licensee",
        "operationId": "createLicensee",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Licensee is disabled. Licensee can not obtain new Licenses, and validation is disabled",
                    "type": "boolean"
                  },
                  "markedForTransfer": {
                    "description": "Mark Licensee for transfer.",
                    "type": "boolean"
                  },
                  "name": {
                    "type": "string"
                  },
                  "number": {
                    "description": "Unique number (across all Products of a Vendor) that identifies the Licensee. Vendor can assign this number when creating a Licensee or let NetLicensing generate one. Read-only after creation of the first License for the Licensee",
                    "type": "string"
                  },
                  "productNumber": {
                    "description": "'productNumber' to assign new Licensee object",
                    "type": "string"
                  }
                },
                "required": [
                  "productNumber",
                  "active"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "402": {
            "description": "Quota exceeded"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create Licensee",
        "tags": [
          "Licensee"
        ]
      }
    },
    "/licensee/{licenseeNumber}": {
      "delete": {
        "description": "Delete a Licensee by 'number'",
        "operationId": "deleteLicensee",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the Licensee.",
            "in": "path",
            "name": "licenseeNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Force object deletion and all descendants.",
            "in": "query",
            "name": "forceCascade",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Delete Licensee",
        "tags": [
          "Licensee"
        ]
      },
      "get": {
        "description": "Return a Licensee by 'licenseeNumber'",
        "operationId": "getLicensee",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the Licensee. Vendor can assign this number when creating a Licensee or let NetLicensing generate one. Read-only after creation of the first License for the Licensee.",
            "in": "path",
            "name": "licenseeNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get Licensee",
        "tags": [
          "Licensee"
        ]
      },
      "post": {
        "description": "Sets the provided properties to a Licensee. Return an updated Licensee",
        "operationId": "updateLicensee",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the Licensee. Vendor can assign this number when creating a Licensee or let NetLicensing generate one. Read-only after creation of the first License for the Licensee.",
            "in": "path",
            "name": "licenseeNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Licensee is disabled. Licensee can not obtain new Licenses, and validation is disabled",
                    "type": "boolean"
                  },
                  "markedForTransfer": {
                    "description": "Mark Licensee for transfer.",
                    "type": "boolean"
                  },
                  "name": {
                    "type": "string"
                  },
                  "number": {
                    "description": "New Licensee number (update).",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "402": {
            "description": "Quota exceeded"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update Licensee",
        "tags": [
          "Licensee"
        ]
      }
    },
    "/licensee/{licenseeNumber}/transfer": {
      "post": {
        "description": "Licenses transfer between Licensees",
        "operationId": "transferLicenses",
        "parameters": [
          {
            "description": "Licensee number with a maximum length of 1000 characters",
            "in": "path",
            "name": "licenseeNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "sourceLicenseeNumber": {
                    "description": "Licensee number which Licenses to be transferred",
                    "type": "string"
                  }
                },
                "required": [
                  "sourceLicenseeNumber"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Transfer Licenses",
        "tags": [
          "Licensee"
        ]
      }
    },
    "/licensee/{licenseeNumber}/validate": {
      "post": {
        "description": "Validates active Licenses of the Licensee",
        "operationId": "validateLicensee",
        "parameters": [
          {
            "description": "Licensee number with a maximum length of 1000 characters",
            "in": "path",
            "name": "licenseeNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "action": {
                    "description": "'Floating' licensing model: check-out or check-in session action, to allocate or return it from/to the pool of available sessions",
                    "enum": [
                      "checkOut",
                      "checkIn"
                    ],
                    "type": "string"
                  },
                  "licenseeName": {
                    "description": "Human-readable name for the auto-created Licensee (will be set as custom Licensee property)",
                    "type": "string"
                  },
                  "nodeSecret": {
                    "description": "'Node-Locked' licensing model: specifies unique secret",
                    "type": "string"
                  },
                  "productModuleNumber": {
                    "description": "'Node-Locked' licensing model: product module number",
                    "type": "string"
                  },
                  "productNumber": {
                    "description": "Product number, must be provided when 'Licensee auto-create' is enabled (see also Product JavaDoc). Identifies the Product to which new Licensee should be added",
                    "type": "string"
                  },
                  "sessionId": {
                    "description": "'Floating' licensing model: specifies unique session identifier",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Validate Licensee",
        "tags": [
          "Licensee"
        ]
      }
    },
    "/licensetemplate": {
      "get": {
        "description": "Return a list of all License Templates for the current Vendor",
        "operationId": "listLicenseTemplates",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List License Templates",
        "tags": [
          "License Template"
        ]
      },
      "post": {
        "description": "Creates a new License Template",
        "operationId": "createLicenseTemplate",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the License Template is disabled. Licensee can not obtain any new Licenses off this License Template.",
                    "type": "boolean"
                  },
                  "automatic": {
                    "description": "If set to 'true', every new Licensee automatically gets one License out of this License Template on creation. Automatic Licenses must have their price set to 0.",
                    "type": "boolean"
                  },
                  "currency": {
                    "description": "Specifies currency for the License price. Check data types to discover which currencies are supported.",
                    "type": "string"
                  },
                  "hidden": {
                    "description": "If set to 'true', this License Template is not shown in NetLicensing Shop as offered for purchase.",
                    "type": "boolean"
                  },
                  "hideLicenses": {
                    "description": "If set to 'true', Licenses from this License Template are not visible to the end customer, but participate in validation.",
                    "type": "boolean"
                  },
                  "licenseType": {
                    "description": "Type of Licenses created from this License Template. Supported types: FEATURE, TIMEVOLUME, FLOATING, QUANTITY",
                    "type": "string"
                  },
                  "maxSessions": {
                    "description": "Mandatory for 'FLOATING' License Type.",
                    "type": "string"
                  },
                  "name": {
                    "description": "License Template name to create License Template object",
                    "type": "string"
                  },
                  "number": {
                    "description": "Unique number (across all Products of a Vendor) that identifies the License Template. Vendor can assign this number when creating a License Template or let NetLicensing generate one. Read-only after creation of the first License from this License Template.",
                    "type": "string"
                  },
                  "price": {
                    "description": "Price for the License. If >0, it must always be accompanied by the currency specification.",
                    "format": "double",
                    "type": "number"
                  },
                  "productModuleNumber": {
                    "description": "Number of Product Module to create License Template object",
                    "type": "string"
                  },
                  "quantity": {
                    "description": "Mandatory for 'Pay-per-Use' and 'Node-Locked' License Model.",
                    "type": "string"
                  },
                  "quota": {
                    "description": "Mandatory for 'Quota' License Model.",
                    "type": "string"
                  },
                  "timeVolume": {
                    "description": "Mandatory for 'TIMEVOLUME' License Type.",
                    "type": "string"
                  },
                  "timeVolumePeriod": {
                    "description": "For 'TIMEVOLUME' License Type.",
                    "type": "string"
                  }
                },
                "required": [
                  "productModuleNumber",
                  "name",
                  "active",
                  "licenseType"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create License Template",
        "tags": [
          "License Template"
        ]
      }
    },
    "/licensetemplate/{licenseTemplateNumber}": {
      "delete": {
        "description": "Delete a License Template by 'number'.",
        "operationId": "deleteLicenseTemplate",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the License Template.",
            "in": "path",
            "name": "licenseTemplateNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Force object deletion and all descendants.",
            "in": "query",
            "name": "forceCascade",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Delete License Template",
        "tags": [
          "License Template"
        ]
      },
      "get": {
        "description": "Return a License Template by 'licenseTemplateNumber'",
        "operationId": "getLicenseTemplate",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the License Template. Vendor can assign this number when creating a License Template or let NetLicensing generate one. Read-only after creation of the first License from this License Template.",
            "in": "path",
            "name": "licenseTemplateNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get License Template",
        "tags": [
          "License Template"
        ]
      },
      "post": {
        "description": "Sets the provided properties to a License Template. Return an updated License Template",
        "operationId": "updateLicenseTemplate",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the License Template. Vendor can assign this number when creating a License Template or let NetLicensing generate one. Read-only after creation of the first License from this License Template.",
            "in": "path",
            "name": "licenseTemplateNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the License Template is disabled. Licensee can not obtain any new Licenses off this License Template.",
                    "type": "boolean"
                  },
                  "automatic": {
                    "description": "If set to 'true', every new Licensee automatically gets one License out of this License Template on creation. Automatic Licenses must have their price set to 0.",
                    "type": "boolean"
                  },
                  "currency": {
                    "description": "Specifies currency for the License price. Check data types to discover which currencies are supported.",
                    "type": "string"
                  },
                  "hidden": {
                    "description": "If set to 'true', this License Template is not shown in NetLicensing Shop as offered for purchase.",
                    "type": "boolean"
                  },
                  "hideLicenses": {
                    "description": "If set to 'true', Licenses from this License Template are not visible to the end customer, but participate in validation.",
                    "type": "boolean"
                  },
                  "licenseType": {
                    "description": "Type of Licenses created from this License Template. Supported types: FEATURE, TIMEVOLUME, FLOATING, QUANTITY",
                    "type": "string"
                  },
                  "maxSessions": {
                    "description": "Mandatory for 'FLOATING' License Type.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name for the Licensed item",
                    "type": "string"
                  },
                  "number": {
                    "description": "New License Template number (update).",
                    "type": "string"
                  },
                  "price": {
                    "description": "Price for the License. If >0, it must always be accompanied by the currency specification.",
                    "format": "double",
                    "type": "number"
                  },
                  "quantity": {
                    "description": "Mandatory for 'Pay-per-Use' and 'Node-Locked' License Model.",
                    "type": "string"
                  },
                  "quota": {
                    "description": "Mandatory for 'Quota' License Model.",
                    "type": "string"
                  },
                  "timeVolume": {
                    "description": "Mandatory for 'TIMEVOLUME' License Type.",
                    "type": "string"
                  },
                  "timeVolumePeriod": {
                    "description": "For 'TIMEVOLUME' License Type.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update License Template",
        "tags": [
          "License Template"
        ]
      }
    },
    "/paymentmethod": {
      "get": {
        "description": "Return a list of all Payment Methods for the current Vendor",
        "operationId": "listPaymentMethods",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Payment Methods",
        "tags": [
          "Payment Method"
        ]
      }
    },
    "/paymentmethod/{paymentMethodNumber}": {
      "get": {
        "description": "Return a Payment Method info by 'paymentMethodNumber'",
        "operationId": "getPaymentMethod",
        "parameters": [
          {
            "description": "Payment method number",
            "in": "path",
            "name": "paymentMethodNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get Payment Method",
        "tags": [
          "Payment Method"
        ]
      },
      "post": {
        "description": "Sets the provided properties to a Payment Method. Return an updated Payment Method",
        "operationId": "updatePaymentMethod",
        "parameters": [
          {
            "description": "Payment method number",
            "in": "path",
            "name": "paymentMethodNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Payment Method is disabled.",
                    "type": "boolean"
                  },
                  "paypal.subject": {
                    "description": "The e-mail address of the PayPal account for which you are making the API calls.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update Payment Method",
        "tags": [
          "Payment Method"
        ]
      }
    },
    "/product": {
      "get": {
        "description": "Return a list of all configured Products for the current Vendor",
        "operationId": "listProducts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Products",
        "tags": [
          "Product"
        ]
      },
      "post": {
        "description": "Creates a new Product",
        "operationId": "createProduct",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Product is disabled. No new Licensees can be registered for the Product, existing Licensees can not obtain new Licenses.",
                    "type": "boolean"
                  },
                  "description": {
                    "description": "Product description.",
                    "type": "string"
                  },
                  "licenseeAutoCreate": {
                    "description": "If set to 'true', non-existing Licensees will be created at first validation attempt.",
                    "type": "boolean"
                  },
                  "licensingInfo": {
                    "description": "Licensing information.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Product name. Together with the version identifies the Product for the end customer.",
                    "type": "string"
                  },
                  "number": {
                    "description": "Unique number that identifies the Product. Vendor can assign this number when creating a Product or let NetLicensing generate one.",
                    "type": "string"
                  },
                  "vatMode": {
                    "description": "Vat mode for Product. Supported types: GROSS, NET",
                    "enum": [
                      "GROSS",
                      "NET"
                    ],
                    "type": "string"
                  },
                  "version": {
                    "description": "Product version. Convenience parameter, additional to the Product name.",
                    "type": "string"
                  }
                },
                "required": [
                  "active",
                  "name",
                  "version"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "402": {
            "description": "Quota exceeded"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create Product",
        "tags": [
          "Product"
        ]
      }
    },
    "/product/{productNumber}": {
      "delete": {
        "description": "Delete a Product by 'number'",
        "operationId": "deleteProduct",
        "parameters": [
          {
            "description": "Unique number that identifies the Product.",
            "in": "path",
            "name": "productNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Force object deletion and all descendants.",
            "in": "query",
            "name": "forceCascade",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Delete Product",
        "tags": [
          "Product"
        ]
      },
      "get": {
        "description": "Return a Product by 'productNumber'",
        "operationId": "productNumber",
        "parameters": [
          {
            "description": "Unique number that identifies the Product.",
            "in": "path",
            "name": "productNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get Product",
        "tags": [
          "Product"
        ]
      },
      "post": {
        "description": "Sets the provided properties to a Product. Return an updated Product",
        "operationId": "updateProduct",
        "parameters": [
          {
            "description": "Unique number that identifies the Product.",
            "in": "path",
            "name": "productNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Product is disabled. No new Licensees can be registered for the Product, existing Licensees can not obtain new Licenses.",
                    "type": "boolean"
                  },
                  "description": {
                    "description": "Product description.",
                    "type": "string"
                  },
                  "licenseeAutoCreate": {
                    "description": "If set to 'true', non-existing Licensees will be created at first validation attempt.",
                    "type": "boolean"
                  },
                  "licensingInfo": {
                    "description": "Licensing information.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Product name. Together with the version identifies the Product for the end customer.",
                    "type": "string"
                  },
                  "number": {
                    "description": "New Product number (update)",
                    "type": "string"
                  },
                  "vatMode": {
                    "description": "Vat mode for Product. Supported types: GROSS, NET",
                    "enum": [
                      "GROSS",
                      "NET"
                    ],
                    "type": "string"
                  },
                  "version": {
                    "description": "Product version. Convenience parameter, additional to the Product name.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "402": {
            "description": "Quota exceeded"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update Product",
        "tags": [
          "Product"
        ]
      }
    },
    "/productmodule": {
      "get": {
        "description": "Return a list of all Product Modules for the current Vendor",
        "operationId": "listProductModules",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Product Modules",
        "tags": [
          "Product Module"
        ]
      },
      "post": {
        "description": "Creates a new Product Module",
        "operationId": "createProductModule",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module.",
                    "type": "boolean"
                  },
                  "licenseTemplate": {
                    "description": "License Template. Mandatory for 'Try &amp; Buy' licensing model.",
                    "items": {
                      "default": "TIMEVOLUME",
                      "enum": [
                        "TIMEVOLUME",
                        "FEATURE"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "licensingModel": {
                    "description": "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.",
                    "type": "string"
                  },
                  "maxCheckoutValidity": {
                    "description": "Maximum checkout validity (days). Mandatory for 'Floating' licensing model.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "name": {
                    "description": "Product Module name that is visible to the end customers in NetLicensing Shop.",
                    "type": "string"
                  },
                  "nodeSecretMode": {
                    "description": "Secret Mode. Mandatory for 'Node-Locked' licensing model.",
                    "items": {
                      "default": "PREDEFINED",
                      "enum": [
                        "PREDEFINED",
                        "CLIENT"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "number": {
                    "description": "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.",
                    "type": "string"
                  },
                  "productNumber": {
                    "description": "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.",
                    "type": "string"
                  },
                  "redThreshold": {
                    "description": "Remaining time volume for red level. Mandatory for 'Rental' licensing model.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "yellowThreshold": {
                    "description": "Remaining time volume for yellow level. Mandatory for 'Rental' licensing model.",
                    "format": "int32",
                    "type": "integer"
                  }
                },
                "required": [
                  "productNumber",
                  "active",
                  "name",
                  "licensingModel"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "402": {
            "description": "Quota exceeded"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create Product Module",
        "tags": [
          "Product Module"
        ]
      }
    },
    "/productmodule/{productModuleNumber}": {
      "delete": {
        "description": "Delete a Product Module by 'number'",
        "operationId": "deleteProductModule",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the Product Module.",
            "in": "path",
            "name": "productModuleNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Force object deletion and all descendants.",
            "in": "query",
            "name": "forceCascade",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Delete Product Module",
        "tags": [
          "Product Module"
        ]
      },
      "get": {
        "description": "Return a Product Module by 'productModuleNumber'",
        "operationId": "getProductModule",
        "parameters": [
          {
            "description": "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.",
            "in": "path",
            "name": "productModuleNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get Product Module",
        "tags": [
          "Product Module"
        ]
      },
      "post": {
        "description": "Sets the provided properties to a Product Module. Return an updated Product Module",
        "operationId": "updateProductModule",
        "parameters": [
          {
            "description": "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.",
            "in": "path",
            "name": "productModuleNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module.",
                    "type": "boolean"
                  },
                  "licenseTemplate": {
                    "description": "License Template. Mandatory for 'Try &amp; Buy' licensing model.",
                    "items": {
                      "default": "TIMEVOLUME",
                      "enum": [
                        "TIMEVOLUME",
                        "FEATURE"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "licensingModel": {
                    "description": "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.",
                    "type": "string"
                  },
                  "maxCheckoutValidity": {
                    "description": "Maximum checkout validity (days). Mandatory for 'Floating' licensing model.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "name": {
                    "description": "Product Module name that is visible to the end customers in NetLicensing Shop.",
                    "type": "string"
                  },
                  "nodeSecretMode": {
                    "description": "Secret Mode. Mandatory for 'Node-Locked' licensing model.",
                    "items": {
                      "default": "PREDEFINED",
                      "enum": [
                        "PREDEFINED",
                        "CLIENT"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "number": {
                    "description": "New Product Module number (update).",
                    "type": "string"
                  },
                  "redThreshold": {
                    "description": "Remaining time volume for red level. Mandatory for 'Rental' licensing model.",
                    "format": "int32",
                    "type": "integer"
                  },
                  "yellowThreshold": {
                    "description": "Remaining time volume for yellow level. Mandatory for 'Rental' licensing model.",
                    "format": "int32",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "402": {
            "description": "Quota exceeded"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update Product Module",
        "tags": [
          "Product Module"
        ]
      }
    },
    "/token": {
      "get": {
        "description": "Return a list of all tokens for the current Vendor",
        "operationId": "listTokens",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Tokens",
        "tags": [
          "Token"
        ]
      },
      "post": {
        "description": "Create token by 'tokenType' and additional token parameters",
        "operationId": "createToken",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "action": {
                    "description": "For <i>type=ACTION</i> only; defines token action to be perfromed",
                    "enum": [
                      "licenseeLogin"
                    ],
                    "type": "string"
                  },
                  "apiKeyRole": {
                    "description": "For <i>tokenType=APIKEY</i> only (default: ROLE_APIKEY_LICENSEE); defines token RoleID",
                    "enum": [
                      "ROLE_APIKEY_LICENSEE",
                      "ROLE_APIKEY_ANALYTICS",
                      "ROLE_APIKEY_OPERATION",
                      "ROLE_APIKEY_MAINTENANCE",
                      "ROLE_APIKEY_ADMIN"
                    ],
                    "type": "string"
                  },
                  "cancelURL": {
                    "description": "For <i>tokenType=SHOP</i> only; take customers to this URL when they cancel their checkout",
                    "type": "string"
                  },
                  "cancelURLTitle": {
                    "description": "For <i>tokenType=SHOP</i> only; shop link title for cancel checkout process",
                    "type": "string"
                  },
                  "licenseTemplateNumber": {
                    "description": "For <i>tokenType=SHOP</i> only; identifies LicenseTemplate that will be assigned to the shop token",
                    "type": "string"
                  },
                  "licenseeNumber": {
                    "description": "For <i>tokenType=SHOP</i> or <i>type=ACTION</i> only (mandatory); identifies Licensee that will be assigned to the shop token",
                    "type": "string"
                  },
                  "predefinedShoppingItem": {
                    "description": "For <i>tokenType=SHOP</i> only; identifies Shopping Item name that will be shown to the customer",
                    "type": "string"
                  },
                  "privateKey": {
                    "description": "For <i>tokenType=APIKEY</i> only (optional); defines PrivateKey to be used with the validate method<br/><strong>Please Note:</strong> PrivateKey need to be provided as one line without spaces",
                    "type": "string"
                  },
                  "productNumber": {
                    "description": "For <i>tokenType=SHOP</i> only (mandatory); identifies Product that will be assigned to the shop token",
                    "type": "string"
                  },
                  "successURL": {
                    "description": "For <i>tokenType=SHOP</i> only; take customers to this URL when they finish checkout",
                    "type": "string"
                  },
                  "successURLTitle": {
                    "description": "For <i>tokenType=SHOP</i> only; shop link title for successful checkout process",
                    "type": "string"
                  },
                  "tokenType": {
                    "description": "Token type to be generated",
                    "enum": [
                      "DEFAULT",
                      "SHOP",
                      "APIKEY"
                    ],
                    "type": "string"
                  },
                  "type": {
                    "description": "For <i>tokenType=DEFAULT</i> only; action type to be set",
                    "enum": [
                      "ACTION"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "tokenType"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create token",
        "tags": [
          "Token"
        ]
      }
    },
    "/token/{tokenNumber}": {
      "delete": {
        "description": "Delete a token by 'number'",
        "operationId": "deleteToken",
        "parameters": [
          {
            "description": "Token number",
            "in": "path",
            "name": "tokenNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Delete token",
        "tags": [
          "Token"
        ]
      },
      "get": {
        "description": "Return a token by 'tokenNumber'",
        "operationId": "getToken",
        "parameters": [
          {
            "description": "Token number",
            "in": "path",
            "name": "tokenNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get token",
        "tags": [
          "Token"
        ]
      }
    },
    "/transaction": {
      "get": {
        "description": "Return a list of all Transactions for the current Vendor",
        "operationId": "listTransactions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/netlicensing"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Transactions",
        "tags": [
          "Transaction"
        ]
      },
      "post": {
        "description": "Creates a new Transaction",
        "operationId": "createTransaction",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "Always 'true' for Transactions",
                    "type": "boolean"
                  },
                  "dateClosed": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "dateCreated": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "licenseeNumber": {
                    "type": "string"
                  },
                  "number": {
                    "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
                    "type": "string"
                  },
                  "paymentMethod": {
                    "type": "string"
                  },
                  "source": {
                    "description": "AUTO Transaction for internal use only",
                    "enum": [
                      "SHOP"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "CANCELLED",
                      "CLOSED",
                      "PENDING"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "active",
                  "status",
                  "source"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Create Transaction",
        "tags": [
          "Transaction"
        ]
      }
    },
    "/transaction/{transactionNumber}": {
      "get": {
        "description": "Return a Transaction by 'transactionNumber'",
        "operationId": "getTransaction",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
            "in": "path",
            "name": "transactionNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get Transaction ",
        "tags": [
          "Transaction"
        ]
      },
      "post": {
        "description": "Sets the provided properties to a Transaction. Return an updated Transaction",
        "operationId": "updateTransaction",
        "parameters": [
          {
            "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
            "in": "path",
            "name": "transactionNumber",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "active": {
                    "description": "Always 'true' for Transactions",
                    "type": "boolean"
                  },
                  "dateClosed": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "dateCreated": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "number": {
                    "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
                    "type": "string"
                  },
                  "paymentMethod": {
                    "type": "string"
                  },
                  "source": {
                    "description": "AUTO Transaction for internal use only",
                    "enum": [
                      "SHOP"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "CANCELLED",
                      "CLOSED",
                      "PENDING"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Update Transaction",
        "tags": [
          "Transaction"
        ]
      }
    },
    "/utility/licenseTypes": {
      "get": {
        "description": "Return a list of all License Types supported by the service",
        "operationId": "licenseTypes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List License Types",
        "tags": [
          "Utility"
        ]
      }
    },
    "/utility/licensingModels": {
      "get": {
        "description": "Return a list of all licensing models supported by the service",
        "operationId": "licensingModels",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/netlicensing"
                }
              }
            },
            "description": "Successful request"
          },
          "400": {
            "description": "Malformed or illegal request"
          },
          "403": {
            "description": "Access is denied"
          },
          "404": {
            "description": "Resource not found"
          },
          "500": {
            "description": "Internal service error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "List Licensing Models",
        "tags": [
          "Utility"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "License": {
        "properties": {
          "active": {
            "description": "If set to 'false', the License is disabled. License can be re-enabled, but as long as it is disabled, the License is excluded from the validation process.",
            "type": "boolean"
          },
          "currency": {
            "description": "Specifies currency for the License price. Check data types to discover which currencies are supported. Read-only, set from License Template on creation.",
            "type": "string"
          },
          "hidden": {
            "description": "If set to 'true', this License is not shown in NetLicensing Shop as purchased License. Set from License Template on creation, if not specified explicitly.",
            "type": "boolean"
          },
          "name": {
            "description": "Name for the Licensed item. Set from License Template on creation, if not specified explicitly.",
            "type": "string"
          },
          "number": {
            "description": "Unique number (across all Products/Licensees of a Vendor) that identifies the License. Vendor can assign this number when creating a License or let NetLicensing generate one. Read-only after corresponding creation Transaction status is set to closed.",
            "type": "string"
          },
          "price": {
            "description": "'price' for the License. If >0, it must always be accompanied by the currency specification. Read-only, set from License Template on creation.",
            "format": "double",
            "type": "number"
          }
        },
        "type": "object",
        "xml": {
          "name": "license"
        }
      },
      "LicenseTemplate": {
        "properties": {
          "active": {
            "description": "If set to 'false', the License Template is disabled. Licensee can not obtain any new Licenses off this License Template.",
            "type": "boolean"
          },
          "automatic": {
            "description": "If set to 'true', every new Licensee automatically gets one License out of this License Template on creation. Automatic Licenses must have their price set to 0.",
            "type": "boolean"
          },
          "currency": {
            "description": "Specifies currency for the License price. Check data types to discover which currencies are supported.",
            "type": "string"
          },
          "hidden": {
            "description": "If set to 'true', this License Template is not shown in NetLicensing Shop as offered for purchase.",
            "type": "boolean"
          },
          "hiddenLicenses": {
            "description": "If set to 'true', Licenses from this License Template are not visible to the end customer, but participate in validation.",
            "type": "boolean"
          },
          "licenseType": {
            "description": "Type of Licenses created from this License Template",
            "enum": [
              "FEATURE",
              "TIMEVOLUME"
            ],
            "type": "string"
          },
          "name": {
            "description": "Name for the Licensed item.",
            "type": "string"
          },
          "number": {
            "description": "Unique number (across all Product of a Vendor) that identifies the License Template. Vendor can assign this number when creating a License Template or let NetLicensing generate one. Read-only after creation of the first License from this License Template.",
            "type": "string"
          },
          "price": {
            "description": "'price' for the License. If >0, it must always be accompanied by the currency specification.",
            "format": "double",
            "type": "number"
          }
        },
        "type": "object",
        "xml": {
          "name": "licensetemplate"
        }
      },
      "Licensee": {
        "properties": {
          "active": {
            "description": "If set to 'false', the Licensee is disabled. Licensee can not obtain new Licenses, and validation is disabled.",
            "type": "boolean"
          },
          "number": {
            "description": "Unique number (across all Products of a Vendor) that identifies the Licensee. Vendor can assign this number when creating a Licensee or let NetLicensing generate one. Read-only after creation of the first License for the Licensee.",
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "licensee"
        }
      },
      "PaymentMethod": {
        "properties": {
          "active": {
            "type": "boolean"
          },
          "number": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "paymentmethod"
        }
      },
      "Product": {
        "properties": {
          "active": {
            "description": "If set to 'false', the Product is disabled. No new Licensees can be registered for the Product, existing Licensees can not obtain new Licenses",
            "type": "boolean"
          },
          "licenseeAutoCreate": {
            "description": "If set to 'true', non-existing Licensees will be created at first validation attempt.",
            "type": "boolean"
          },
          "name": {
            "description": "Product name. Together with the version identifies the Product for the end customer",
            "type": "string"
          },
          "number": {
            "description": "Unique number that identifies the Product. Vendor can assign this number when creating a Product or let NetLicensing generate one. Read-only after creation of the first Licensee for the Product.",
            "type": "string"
          },
          "version": {
            "description": "Product version. Convenience parameter, additional to the Product name.",
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "product"
        }
      },
      "ProductModule": {
        "properties": {
          "active": {
            "description": "If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module.",
            "type": "boolean"
          },
          "licensingInfo": {
            "description": "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.",
            "type": "string"
          },
          "name": {
            "description": "Product Module name that is visible to the end customers in NetLicensing Shop.",
            "type": "string"
          },
          "number": {
            "description": "Unique number (across all Product 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.",
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "productmodule"
        }
      },
      "Token": {
        "properties": {
          "active": {
            "type": "boolean"
          },
          "expirationTime": {
            "format": "date-time",
            "type": "string"
          },
          "licenseNumber": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "shopURL": {
            "type": "string"
          },
          "tokenType": {
            "type": "string"
          },
          "vendorNumber": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "token"
        }
      },
      "Transaction": {
        "properties": {
          "active": {
            "description": "Always true for the Transactions",
            "type": "string"
          },
          "number": {
            "description": "Unique number (across all Products of a Vendor) that identifies the Transaction. This number is always generated by NetLicensing.",
            "type": "string"
          },
          "source": {
            "enum": [
              "SHOP"
            ],
            "type": "string"
          },
          "status": {
            "enum": [
              "CANCELLED",
              "CLOSED",
              "PENDING"
            ],
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "transaction"
        }
      },
      "discount": {
        "properties": {
          "amountPercent": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "totalPrice": {
            "format": "double",
            "type": "number"
          }
        },
        "type": "object",
        "xml": {
          "name": "discount"
        }
      },
      "infos": {
        "properties": {},
        "xml": {
          "name": "infos"
        }
      },
      "items": {
        "properties": {},
        "xml": {
          "name": "items"
        }
      },
      "licensingModel": {
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "licensingModel"
        }
      },
      "netlicensing": {
        "properties": {
          "infos": {
            "$ref": "#/components/schemas/infos"
          },
          "items": {
            "$ref": "#/components/schemas/items"
          }
        },
        "xml": {
          "name": "netlicensing"
        }
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "description": "HTTP Basic Authentication. Use either `username:password` or `apiKey:token` to authenticate.",
        "scheme": "basic",
        "type": "http"
      }
    }
  }
}