{
    "swagger": "2.0",
    "info": {
        "version": "2.x",
        "title": "Labs64 NetLicensing RESTful API Test Center",
        "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"
    },
    "host": "go.netlicensing.io",
    "basePath": "/core/v2/rest",
    "tags": [
        {
            "name": "Product",
            "description": "Product operations",
            "externalDocs": {
                "description": "Product Services",
                "url": "https://netlicensing.io/wiki/product-services"
            }
        },
        {
            "name": "Product Module",
            "description": "Product Module operations",
            "externalDocs": {
                "description": "Product Module Services",
                "url": "https://netlicensing.io/wiki/product-module-services"
            }
        },
        {
            "name": "License Template",
            "description": "License Template operations",
            "externalDocs": {
                "description": "License Template Services",
                "url": "https://netlicensing.io/wiki/license-template-services"
            }
        },
        {
            "name": "Licensee",
            "description": "Licensee operations",
            "externalDocs": {
                "description": "Licensee Services",
                "url": "https://netlicensing.io/wiki/licensee-services"
            }
        },
        {
            "name": "License",
            "description": "License operations",
            "externalDocs": {
                "description": "License Services",
                "url": "https://netlicensing.io/wiki/license-services"
            }
        },
        {
            "name": "Transaction",
            "description": "Transaction operations",
            "externalDocs": {
                "description": "Transaction Services",
                "url": "https://netlicensing.io/wiki/transaction-services"
            }
        },
        {
            "name": "Token",
            "description": "Token operations",
            "externalDocs": {
                "description": "Token Services",
                "url": "https://netlicensing.io/wiki/token-services"
            }
        },
        {
            "name": "Payment Method",
            "description": "Payment Method operations",
            "externalDocs": {
                "description": "Payment Method Services",
                "url": "https://netlicensing.io/wiki/payment-method-services"
            }
        },
        {
            "name": "Utility",
            "description": "Utility operations",
            "externalDocs": {
                "description": "Utility Services",
                "url": "https://netlicensing.io/wiki/utility-services"
            }
        },
        {
            "name": "Bundle",
            "description": "Bundle operations",
            "externalDocs": {
                "description": "Bundle Services",
                "url": "https://netlicensing.io/wiki/bundle-services"
            }
        }
    ],
    "schemes": [
        "https"
    ],
    "paths": {
        "/product": {
            "get": {
                "tags": [
                    "Product"
                ],
                "summary": "List Products",
                "description": "Return a list of all configured Products for the current Vendor",
                "operationId": "listProducts",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Product"
                ],
                "summary": "Create Product",
                "description": "Creates a new Product",
                "operationId": "createProduct",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "description": "Unique number that identifies the Product. Vendor can assign this number when creating a Product or let NetLicensing generate one.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "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.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Product name. Together with the version identifies the Product for the end customer.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "version",
                        "type": "string",
                        "description": "Product version. Convenience parameter, additional to the Product name.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "licenseeAutoCreate",
                        "type": "boolean",
                        "description": "If set to 'true', non-existing Licensees will be created at first validation attempt.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "description",
                        "type": "string",
                        "description": "Product description.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licensingInfo",
                        "type": "string",
                        "description": "Licensing information.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "vatMode",
                        "type": "string",
                        "enum": [
                            "GROSS",
                            "NET"
                        ],
                        "description": "Vat mode for Product. Supported types: GROSS, NET",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            }
        },
        "/product/{productNumber}": {
            "get": {
                "tags": [
                    "Product"
                ],
                "summary": "Get Product",
                "description": "Return a Product by 'productNumber'",
                "operationId": "productNumber",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "productNumber",
                        "in": "path",
                        "description": "Unique number that identifies the Product.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Product"
                ],
                "summary": "Update Product",
                "description": "Sets the provided properties to a Product. Return an updated Product",
                "operationId": "updateProduct",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "productNumber",
                        "in": "path",
                        "description": "Unique number that identifies the Product.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "number",
                        "in": "formData",
                        "description": "New Product number (update)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "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.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Product name. Together with the version identifies the Product for the end customer.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "version",
                        "type": "string",
                        "description": "Product version. Convenience parameter, additional to the Product name.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseeAutoCreate",
                        "type": "boolean",
                        "description": "If set to 'true', non-existing Licensees will be created at first validation attempt.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "description",
                        "type": "string",
                        "description": "Product description.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licensingInfo",
                        "type": "string",
                        "description": "Licensing information.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "vatMode",
                        "type": "string",
                        "enum": [
                            "GROSS",
                            "NET"
                        ],
                        "description": "Vat mode for Product. Supported types: GROSS, NET",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Product"
                ],
                "summary": "Delete Product",
                "description": "Delete a Product by 'number'",
                "operationId": "deleteProduct",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "productNumber",
                        "description": "Unique number that identifies the Product.",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "query",
                        "name": "forceCascade",
                        "description": "Force object deletion and all descendants.",
                        "type": "boolean",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/productmodule": {
            "get": {
                "tags": [
                    "Product Module"
                ],
                "summary": "List Product Modules",
                "description": "Return a list of all Product Modules for the current Vendor",
                "operationId": "listProductModules",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Product Module"
                ],
                "summary": "Create Product Module",
                "description": "Creates a new Product Module",
                "operationId": "createProductModule",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "productNumber",
                        "type": "string",
                        "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.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "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.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Product Module name that is visible to the end customers in NetLicensing Shop.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "licensingModel",
                        "type": "string",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Subscription",
                                "TryAndBuy",
                                "Rental",
                                "Floating",
                                "MultiFeature",
                                "PayPerUse",
                                "Quota",
                                "NodeLocked"
                            ],
                            "default": "Subscription"
                        },
                        "collectionFormat": "multi",
                        "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.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "maxCheckoutValidity",
                        "type": "integer",
                        "format": "int32",
                        "description": "Maximum checkout validity (days). Mandatory for 'Floating' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "yellowThreshold",
                        "type": "integer",
                        "format": "int32",
                        "description": "Remaining time volume for yellow level. Mandatory for 'Rental' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "redThreshold",
                        "type": "integer",
                        "format": "int32",
                        "description": "Remaining time volume for red level. Mandatory for 'Rental' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "nodeSecretMode",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "PREDEFINED",
                                "CLIENT"
                            ],
                            "default": "PREDEFINED"
                        },
                        "description": "Secret Mode. Mandatory for 'Node-Locked' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseTemplate",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "TIMEVOLUME",
                                "FEATURE"
                            ],
                            "default": "TIMEVOLUME"
                        },
                        "description": "License Template. Mandatory for 'Try &amp; Buy' licensing model.",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            }
        },
        "/productmodule/{productModuleNumber}": {
            "get": {
                "tags": [
                    "Product Module"
                ],
                "summary": "Get Product Module",
                "description": "Return a Product Module by 'productModuleNumber'",
                "operationId": "getProductModule",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "productModuleNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Product Module"
                ],
                "summary": "Update Product Module",
                "description": "Sets the provided properties to a Product Module. Return an updated Product Module",
                "operationId": "updateProductModule",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "productModuleNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "number",
                        "in": "formData",
                        "description": "New Product Module number (update).",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Product Module name that is visible to the end customers in NetLicensing Shop.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licensingModel",
                        "type": "string",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Subscription",
                                "TryAndBuy",
                                "Rental",
                                "Floating"
                            ],
                            "default": "Subscription"
                        },
                        "collectionFormat": "multi",
                        "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.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "maxCheckoutValidity",
                        "type": "integer",
                        "format": "int32",
                        "description": "Maximum checkout validity (days). Mandatory for 'Floating' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "yellowThreshold",
                        "type": "integer",
                        "format": "int32",
                        "description": "Remaining time volume for yellow level. Mandatory for 'Rental' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "redThreshold",
                        "type": "integer",
                        "format": "int32",
                        "description": "Remaining time volume for red level. Mandatory for 'Rental' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseTemplate",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "TIMEVOLUME",
                                "FEATURE"
                            ],
                            "default": "TIMEVOLUME"
                        },
                        "description": "License Template. Mandatory for 'Try &amp; Buy' licensing model.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "nodeSecretMode",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "PREDEFINED",
                                "CLIENT"
                            ],
                            "default": "PREDEFINED"
                        },
                        "description": "Secret Mode. Mandatory for 'Node-Locked' licensing model.",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Product Module"
                ],
                "summary": "Delete Product Module",
                "description": "Delete a Product Module by 'number'",
                "operationId": "deleteProductModule",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "productModuleNumber",
                        "description": "Unique number (across all Products of a Vendor) that identifies the Product Module.",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "query",
                        "name": "forceCascade",
                        "description": "Force object deletion and all descendants.",
                        "type": "boolean",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/licensetemplate": {
            "get": {
                "tags": [
                    "License Template"
                ],
                "summary": "List License Templates",
                "description": "Return a list of all License Templates for the current Vendor",
                "operationId": "listLicenseTemplates",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "License Template"
                ],
                "summary": "Create License Template",
                "description": "Creates a new License Template",
                "operationId": "createLicenseTemplate",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "productModuleNumber",
                        "type": "string",
                        "description": "Number of Product Module to create License Template object",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "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.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "License Template name to create License Template object",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the License Template is disabled. Licensee can not obtain any new Licenses off this License Template.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "licenseType",
                        "type": "string",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FEATURE",
                                "TIMEVOLUME",
                                "FLOATING",
                                "QUANTITY"
                            ],
                            "default": "FEATURE"
                        },
                        "collectionFormat": "multi",
                        "description": "Type of Licenses created from this License Template. Supported types: FEATURE, TIMEVOLUME, FLOATING, QUANTITY",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "timeVolume",
                        "type": "string",
                        "description": "Mandatory for 'TIMEVOLUME' License Type.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolumePeriod",
                        "type": "string",
                        "description": "For 'TIMEVOLUME' License Type.",
                        "required": false,
                        "items": {
                            "type": "string",
                            "enum": [
                                "DAY",
                                "WEEK",
                                "MONTH",
                                "YEAR"
                            ],
                            "default": "DAY"
                        }
                    },
                    {
                        "in": "formData",
                        "name": "maxSessions",
                        "type": "string",
                        "description": "Mandatory for 'FLOATING' License Type.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "price",
                        "type": "number",
                        "format": "double",
                        "description": "Price for the License. If >0, it must always be accompanied by the currency specification.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "currency",
                        "type": "string",
                        "description": "Specifies currency for the License price. Check data types to discover which currencies are supported.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "automatic",
                        "type": "boolean",
                        "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.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "hidden",
                        "type": "boolean",
                        "description": "If set to 'true', this License Template is not shown in NetLicensing Shop as offered for purchase.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "hideLicenses",
                        "type": "boolean",
                        "description": "If set to 'true', Licenses from this License Template are not visible to the end customer, but participate in validation.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "quantity",
                        "description": "Mandatory for 'Pay-per-Use' and 'Node-Locked' License Model.",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "quota",
                        "description": "Mandatory for 'Quota' License Model.",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/licensetemplate/{licenseTemplateNumber}": {
            "get": {
                "tags": [
                    "License Template"
                ],
                "summary": "Get License Template",
                "description": "Return a License Template by 'licenseTemplateNumber'",
                "operationId": "getLicenseTemplate",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseTemplateNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "License Template"
                ],
                "summary": "Update License Template",
                "description": "Sets the provided properties to a License Template. Return an updated License Template",
                "operationId": "updateLicenseTemplate",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseTemplateNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "number",
                        "in": "formData",
                        "description": "New License Template number (update).",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Name for the Licensed item",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the License Template is disabled. Licensee can not obtain any new Licenses off this License Template.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseType",
                        "type": "string",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FEATURE",
                                "TIMEVOLUME",
                                "FLOATING",
                                "QUANTITY"
                            ],
                            "default": "FEATURE"
                        },
                        "collectionFormat": "multi",
                        "description": "Type of Licenses created from this License Template. Supported types: FEATURE, TIMEVOLUME, FLOATING, QUANTITY",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolume",
                        "type": "string",
                        "description": "Mandatory for 'TIMEVOLUME' License Type.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolumePeriod",
                        "type": "string",
                        "description": "For 'TIMEVOLUME' License Type.",
                        "required": false,
                        "items": {
                            "type": "string",
                            "enum": [
                                "DAY",
                                "WEEK",
                                "MONTH",
                                "YEAR"
                            ],
                            "default": "DAY"
                        }
                    },
                    {
                        "in": "formData",
                        "name": "maxSessions",
                        "type": "string",
                        "description": "Mandatory for 'FLOATING' License Type.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "price",
                        "type": "number",
                        "format": "double",
                        "description": "Price for the License. If >0, it must always be accompanied by the currency specification.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "currency",
                        "type": "string",
                        "description": "Specifies currency for the License price. Check data types to discover which currencies are supported.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "automatic",
                        "type": "boolean",
                        "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.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "hidden",
                        "type": "boolean",
                        "description": "If set to 'true', this License Template is not shown in NetLicensing Shop as offered for purchase.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "hideLicenses",
                        "type": "boolean",
                        "description": "If set to 'true', Licenses from this License Template are not visible to the end customer, but participate in validation.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "quantity",
                        "description": "Mandatory for 'Pay-per-Use' and 'Node-Locked' License Model.",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "quota",
                        "description": "Mandatory for 'Quota' License Model.",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "License Template"
                ],
                "summary": "Delete License Template",
                "description": "Delete a License Template by 'number'.",
                "operationId": "deleteLicenseTemplate",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "licenseTemplateNumber",
                        "description": "Unique number (across all Products of a Vendor) that identifies the License Template.",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "query",
                        "name": "forceCascade",
                        "description": "Force object deletion and all descendants.",
                        "type": "boolean",
                        "required": false
                    }
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/licensee": {
            "get": {
                "tags": [
                    "Licensee"
                ],
                "summary": "List Licensees",
                "description": "Return a list of all Licensees for the current Vendor",
                "operationId": "listLicensees",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Licensee"
                ],
                "summary": "Create Licensee",
                "description": "Creates a new Licensee",
                "operationId": "createLicensee",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "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",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "productNumber",
                        "type": "string",
                        "description": "'productNumber' to assign new Licensee object",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the Licensee is disabled. Licensee can not obtain new Licenses, and validation is disabled",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "markedForTransfer",
                        "type": "boolean",
                        "description": "Mark Licensee for transfer.",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            }
        },
        "/licensee/{licenseeNumber}": {
            "get": {
                "tags": [
                    "Licensee"
                ],
                "summary": "Get Licensee",
                "description": "Return a Licensee by 'licenseeNumber'",
                "operationId": "getLicensee",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseeNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Licensee"
                ],
                "summary": "Update Licensee",
                "description": "Sets the provided properties to a Licensee. Return an updated Licensee",
                "operationId": "updateLicensee",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseeNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "description": "New Licensee number (update).",
                        "required": false

                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the Licensee is disabled. Licensee can not obtain new Licenses, and validation is disabled",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "markedForTransfer",
                        "type": "boolean",
                        "description": "Mark Licensee for transfer.",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Licensee"
                ],
                "summary": "Delete Licensee",
                "description": "Delete a Licensee by 'number'",
                "operationId": "deleteLicensee",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "licenseeNumber",
                        "description": "Unique number (across all Products of a Vendor) that identifies the Licensee.",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "query",
                        "name": "forceCascade",
                        "description": "Force object deletion and all descendants.",
                        "type": "boolean",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/licensee/{licenseeNumber}/validate": {
            "post": {
                "tags": [
                    "Licensee"
                ],
                "summary": "Validate Licensee",
                "description": "Validates active Licenses of the Licensee",
                "operationId": "validateLicensee",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "licenseeNumber",
                        "description": "Licensee number with a maximum length of 1000 characters",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "licenseeName",
                        "description": "Human-readable name for the auto-created Licensee (will be set as custom Licensee property)",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "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",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "productModuleNumber",
                        "description": "'Node-Locked' licensing model: product module number",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "nodeSecret",
                        "description": "'Node-Locked' licensing model: specifies unique secret",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "sessionId",
                        "description": "'Floating' licensing model: specifies unique session identifier",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "action",
                        "description": "'Floating' licensing model: check-out or check-in session action, to allocate or return it from/to the pool of available sessions",
                        "type": "string",
                        "enum": [
                            "checkOut",
                            "checkIn"
                        ],
                        "collectionFormat": "multi",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/licensee/{licenseeNumber}/transfer": {
            "post": {
                "tags": [
                    "Licensee"
                ],
                "summary": "Transfer Licenses",
                "description": "Licenses transfer between Licensees",
                "operationId": "transferLicenses",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "licenseeNumber",
                        "description": "Licensee number with a maximum length of 1000 characters",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "sourceLicenseeNumber",
                        "description": "Licensee number which Licenses to be transferred",
                        "type": "string",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/license": {
            "get": {
                "tags": [
                    "License"
                ],
                "summary": "List Licenses",
                "description": "Return a list of all Licenses for the current Vendor",
                "operationId": "listLicenses",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "License"
                ],
                "summary": "Create License",
                "description": "Creates a new License",
                "operationId": "createLicense",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "licenseeNumber",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "licenseTemplateNumber",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Name for the Licensed item. Set from License Template on creation, if not specified explicitly.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "parentfeature",
                        "type": "string",
                        "description": "Mandatory for 'TIMEVOLUME' License Type and 'RENTAL' licensing model",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolume",
                        "type": "string",
                        "description": "Mandatory for 'TIMEVOLUME' License Type.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolumePeriod",
                        "type": "string",
                        "description": "For 'TIMEVOLUME' License Type.",
                        "required": false,
                        "items": {
                            "type": "string",
                            "enum": [
                                "DAY",
                                "WEEK",
                                "MONTH",
                                "YEAR"
                            ],
                            "default": "DAY"
                        }
                    },
                    {
                        "in": "formData",
                        "name": "startDate",
                        "type": "string",
                        "format": "date-time",
                        "description": "Mandatory for 'TIMEVOLUME' License Type.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "price",
                        "type": "number",
                        "format": "double",
                        "description": "Price for the License. If >0, it must always be accompanied by the currency specification. Read-only, set from License Template on creation",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "currency",
                        "type": "string",
                        "description": "Specifies currency for the License price. Check data types to discover which currencies are supported. Read-only, set from License Template on creation",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "hidden",
                        "type": "boolean",
                        "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",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "quantity",
                        "description": "Mandatory for 'Pay-per-Use' License Model.",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "usedQuantity",
                        "description": "Mandatory for 'Pay-per-Use' License Model.",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/license/{licenseNumber}": {
            "get": {
                "tags": [
                    "License"
                ],
                "summary": "Get License",
                "description": "Get License by a 'licenseNumber'",
                "operationId": "getLicense",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "License"
                ],
                "summary": "Update License",
                "description": "Update License by a 'licenseNumber'",
                "operationId": "updateLicense",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "number",
                        "in": "formData",
                        "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.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Name for the Licensed item. Set from License Template on creation, if not specified explicitly.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "startDate",
                        "type": "string",
                        "format": "date-time",
                        "description": "For 'TIMEVOLUME' License type",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "parentfeature",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolume",
                        "description": "Mandatory for 'TIMEVOLUME' License Type.",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "timeVolumePeriod",
                        "type": "string",
                        "description": "For 'TIMEVOLUME' License Type.",
                        "required": false,
                        "items": {
                            "type": "string",
                            "enum": [
                                "DAY",
                                "WEEK",
                                "MONTH",
                                "YEAR"
                            ],
                            "default": "DAY"
                        }
                    },
                    {
                        "in": "formData",
                        "name": "price",
                        "type": "number",
                        "format": "double",
                        "description": "Price for the License. If > 0, it must always be accompanied by the currency specification. Read-only, set from License Template on creation",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "currency",
                        "type": "string",
                        "description": "Specifies currency for the License price. Check data types to discover which currencies are supported. Read-only, set from License Template on creation",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "hidden",
                        "type": "boolean",
                        "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",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "quantity",
                        "description": "Mandatory for 'Pay-per-Use' License Model.",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "usedQuantity",
                        "description": "Mandatory for 'Pay-per-Use' License Model.",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "License"
                ],
                "summary": "Delete License",
                "description": "Delete License by a 'licenseNumber'",
                "operationId": "deleteLicense",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "licenseNumber",
                        "in": "path",
                        "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.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/transaction": {
            "get": {
                "tags": [
                    "Transaction"
                ],
                "summary": "List Transactions",
                "description": "Return a list of all Transactions for the current Vendor",
                "operationId": "listTransactions",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Transaction"
                ],
                "summary": "Create Transaction",
                "description": "Creates a new Transaction",
                "operationId": "createTransaction",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "licenseeNumber",
                        "type": "string",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "Always 'true' for Transactions",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "status",
                        "type": "string",
                        "enum": [
                            "CANCELLED",
                            "CLOSED",
                            "PENDING"
                        ],
                        "collectionFormat": "multi",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "source",
                        "type": "string",
                        "enum": [
                            "SHOP"
                        ],
                        "collectionFormat": "multi",
                        "description": "AUTO Transaction for internal use only",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "dateCreated",
                        "type": "string",
                        "format": "date-time",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "dateClosed",
                        "type": "string",
                        "format": "date-time",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "paymentMethod",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/transaction/{transactionNumber}": {
            "get": {
                "tags": [
                    "Transaction"
                ],
                "summary": "Get Transaction ",
                "description": "Return a Transaction by 'transactionNumber'",
                "operationId": "getTransaction",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "transactionNumber",
                        "in": "path",
                        "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Transaction"
                ],
                "summary": "Update Transaction",
                "description": "Sets the provided properties to a Transaction. Return an updated Transaction",
                "operationId": "updateTransaction",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "transactionNumber",
                        "in": "path",
                        "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "number",
                        "in": "formData",
                        "description": "Unique number (across all Products of a Vendor) that identifies the Transaction",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "Always 'true' for Transactions",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "status",
                        "type": "string",
                        "enum": [
                            "CANCELLED",
                            "CLOSED",
                            "PENDING"
                        ],
                        "collectionFormat": "multi",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "source",
                        "type": "string",
                        "enum": [
                            "SHOP"
                        ],
                        "collectionFormat": "multi",
                        "description": "AUTO Transaction for internal use only",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "dateCreated",
                        "type": "string",
                        "format": "date-time",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "dateClosed",
                        "type": "string",
                        "format": "date-time",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "paymentMethod",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/token": {
            "get": {
                "tags": [
                    "Token"
                ],
                "summary": "List Tokens",
                "description": "Return a list of all tokens for the current Vendor",
                "operationId": "listTokens",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Token"
                ],
                "summary": "Create token",
                "description": "Create token by 'tokenType' and additional token parameters",
                "operationId": "createToken",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "tokenType",
                        "description": "Token type to be generated",
                        "type": "string",
                        "enum": [
                            "DEFAULT",
                            "SHOP",
                            "APIKEY"
                        ],
                        "collectionFormat": "multi",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "apiKeyRole",
                        "description": "For <i>tokenType=APIKEY</i> only (default: ROLE_APIKEY_LICENSEE); defines token RoleID",
                        "type": "string",
                        "enum": [
                            "ROLE_APIKEY_LICENSEE",
                            "ROLE_APIKEY_ANALYTICS",
                            "ROLE_APIKEY_OPERATION",
                            "ROLE_APIKEY_MAINTENANCE",
                            "ROLE_APIKEY_ADMIN"
                        ],
                        "collectionFormat": "multi",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "type",
                        "description": "For <i>tokenType=DEFAULT</i> only; action type to be set",
                        "type": "string",
                        "enum": [
                            "ACTION"
                        ],
                        "collectionFormat": "multi",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "action",
                        "description": "For <i>type=ACTION</i> only; defines token action to be perfromed",
                        "type": "string",
                        "enum": [
                            "licenseeLogin"
                        ],
                        "collectionFormat": "multi",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseeNumber",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> or <i>type=ACTION</i> only (mandatory); identifies Licensee that will be assigned to the shop token",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "privateKey",
                        "type": "string",
                        "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",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "productNumber",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only (mandatory); identifies Product that will be assigned to the shop token",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseTemplateNumber",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only; identifies LicenseTemplate that will be assigned to the shop token",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "predefinedShoppingItem",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only; identifies Shopping Item name that will be shown to the customer",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "successURL",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only; take customers to this URL when they finish checkout",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "successURLTitle",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only; shop link title for successful checkout process",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "cancelURL",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only; take customers to this URL when they cancel their checkout",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "cancelURLTitle",
                        "type": "string",
                        "description": "For <i>tokenType=SHOP</i> only; shop link title for cancel checkout process",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/token/{tokenNumber}": {
            "get": {
                "tags": [
                    "Token"
                ],
                "summary": "Get token",
                "description": "Return a token by 'tokenNumber'",
                "operationId": "getToken",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "tokenNumber",
                        "description": "Token number",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Token"
                ],
                "summary": "Delete token",
                "description": "Delete a token by 'number'",
                "operationId": "deleteToken",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "tokenNumber",
                        "description": "Token number",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/paymentmethod": {
            "get": {
                "tags": [
                    "Payment Method"
                ],
                "summary": "List Payment Methods",
                "description": "Return a list of all Payment Methods for the current Vendor",
                "operationId": "listPaymentMethods",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/paymentmethod/{paymentMethodNumber}": {
            "get": {
                "tags": [
                    "Payment Method"
                ],
                "summary": "Get Payment Method",
                "description": "Return a Payment Method info by 'paymentMethodNumber'",
                "operationId": "getPaymentMethod",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "paymentMethodNumber",
                        "in": "path",
                        "description": "Payment method number",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Payment Method"
                ],
                "summary": "Update Payment Method",
                "description": "Sets the provided properties to a Payment Method. Return an updated Payment Method",
                "operationId": "updatePaymentMethod",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "paymentMethodNumber",
                        "description": "Payment method number",
                        "type": "string",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "description": "If set to 'false', the Payment Method is disabled.",
                        "type": "boolean",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "paypal.subject",
                        "description": "The e-mail address of the PayPal account for which you are making the API calls.",
                        "type": "string",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/utility/licensingModels": {
            "get": {
                "tags": [
                    "Utility"
                ],
                "summary": "List Licensing Models",
                "description": "Return a list of all licensing models supported by the service",
                "operationId": "licensingModels",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/utility/licenseTypes": {
            "get": {
                "tags": [
                    "Utility"
                ],
                "summary": "List License Types",
                "description": "Return a list of all License Types supported by the service",
                "operationId": "licenseTypes",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/bundle": {
            "get": {
                "tags": [
                    "Bundle"
                ],
                "summary": "List Bundles",
                "description": "Return a list of all configured Bundles for the current Vendor",
                "operationId": "listBundles",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/netlicensing"
                            }
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Bundle"
                ],
                "summary": "Create Bundle",
                "description": "Creates a new Bundle",
                "operationId": "createBundle",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "number",
                        "type": "string",
                        "description": "Unique number that identifies the Bundle. Vendor can assign this number when creating a Bundle or let NetLicensing generate one.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the bundle is disabled. Licensees can not obtain new licenses.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Bundle name. Identifies the bundle for the end customer.",
                        "required": true
                    },
                    {
                        "in": "formData",
                        "name": "description",
                        "type": "string",
                        "description": "Bundle description.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "price",
                        "type": "number",
                        "format": "double",
                        "description": "Price for the bundle. If &gt;0, it must always be accompanied by the currency specification.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "currency",
                        "type": "string",
                        "description": "Specifies currency for the bundle price.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseTemplateNumbers",
                        "type": "string",
                        "description": "Comma-separated license templates numbers.",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            }
        },
        "/bundle/{bundleNumber}": {
            "get": {
                "tags": [
                    "Bundle"
                ],
                "summary": "Get Bundle",
                "description": "Return a Bundle by 'bundleNumber'",
                "operationId": "getBundle",
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "bundleNumber",
                        "in": "path",
                        "description": "Unique number that identifies the bundle.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Bundle"
                ],
                "summary": "Update Bundle",
                "description": "Sets the provided properties to a Bundle. Return an updated Bundle",
                "operationId": "updateBundle",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "bundleNumber",
                        "in": "path",
                        "description": "Unique number that identifies the Bundle.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "number",
                        "in": "formData",
                        "description": "New Bundle number (update)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "active",
                        "type": "boolean",
                        "description": "If set to 'false', the bundle is disabled. Licensees can not obtain new licenses.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "name",
                        "type": "string",
                        "description": "Bundle name. Identifies the bundle for the end customer.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "description",
                        "type": "string",
                        "description": "Bundle description.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "price",
                        "type": "number",
                        "format": "double",
                        "description": "Price for the bundle. If &gt;0, it must always be accompanied by the currency specification.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "currency",
                        "type": "string",
                        "description": "Specifies currency for the bundle price.",
                        "required": false
                    },
                    {
                        "in": "formData",
                        "name": "licenseTemplateNumbers",
                        "type": "string",
                        "description": "Comma-separated license templates numbers.",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Bundle"
                ],
                "summary": "Delete Bundle",
                "description": "Delete a Bundle by 'number'",
                "operationId": "deleteBundle",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "bundleNumber",
                        "description": "Unique number that identifies the Bundle.",
                        "type": "string",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "400": {
                        "description": "Malformed or illegal request"
                    },
                    "403": {
                        "description": "Access is denied"
                    },
                    "404": {
                        "description": "Resource not found"
                    },
                    "500": {
                        "description": "Internal service error"
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/bundle/{bundleNumber}/obtain": {
            "post": {
                "tags": [
                    "Bundle"
                ],
                "summary": "Obtain Bundle",
                "description": "Obtain bundle - create licenses based on license templates. Return a netlicensing response containing the created Licenses",
                "operationId": "obtainBundle",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "produces": [
                    "application/xml",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "bundleNumber",
                        "in": "path",
                        "description": "Unique number that identifies the Bundle.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "licenseeNumber",
                        "in": "formData",
                        "description": "Licensee number",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful request",
                        "schema": {
                            "$ref": "#/definitions/netlicensing"
                        }
                    },
                    "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": []
                    }
                ]
            }
        }
    },
    "securityDefinitions": {
        "basicAuth": {
            "type": "basic",
            "description": "HTTP Basic Authentication. Use either `username:password` or `apiKey:token` to authenticate."
        }
    },
    "definitions": {
        "netlicensing": {
            "properties": {
                "infos": {
                    "$ref": "#/definitions/infos"
                },
                "items": {
                    "$ref": "#/definitions/items"
                }
            },
            "xml": {
                "name": "netlicensing"
            }
        },
        "infos": {
            "properties": {},
            "xml": {
                "name": "infos"
            }
        },
        "items": {
            "properties": {},
            "xml": {
                "name": "items"
            }
        },
        "Product": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "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."
                },
                "active": {
                    "type": "boolean",
                    "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"
                },
                "name": {
                    "type": "string",
                    "description": "Product name. Together with the version identifies the Product for the end customer"
                },
                "version": {
                    "type": "string",
                    "description": "Product version. Convenience parameter, additional to the Product name."
                },
                "licenseeAutoCreate": {
                    "type": "boolean",
                    "description": "If set to 'true', non-existing Licensees will be created at first validation attempt."
                }
            },
            "xml": {
                "name": "product"
            }
        },
        "ProductModule": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "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."
                },
                "active": {
                    "type": "boolean",
                    "description": "If set to 'false', the Product Module is disabled. Licensees can not obtain any new Licenses for this Product Module."
                },
                "name": {
                    "type": "string",
                    "description": "Product Module name that is visible to the end customers in NetLicensing Shop."
                },
                "licensingInfo": {
                    "type": "string",
                    "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."
                }
            },
            "xml": {
                "name": "productmodule"
            }
        },
        "LicenseTemplate": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "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."
                },
                "active": {
                    "type": "boolean",
                    "description": "If set to 'false', the License Template is disabled. Licensee can not obtain any new Licenses off this License Template."
                },
                "name": {
                    "type": "string",
                    "description": "Name for the Licensed item."
                },
                "licenseType": {
                    "type": "string",
                    "enum": [
                        "FEATURE",
                        "TIMEVOLUME"
                    ],
                    "description": "Type of Licenses created from this License Template"
                },
                "price": {
                    "type": "number",
                    "format": "double",
                    "description": "'price' for the License. If >0, it must always be accompanied by the currency specification."
                },
                "currency": {
                    "type": "string",
                    "description": "Specifies currency for the License price. Check data types to discover which currencies are supported."
                },
                "automatic": {
                    "type": "boolean",
                    "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."
                },
                "hidden": {
                    "type": "boolean",
                    "description": "If set to 'true', this License Template is not shown in NetLicensing Shop as offered for purchase."
                },
                "hiddenLicenses": {
                    "type": "boolean",
                    "description": "If set to 'true', Licenses from this License Template are not visible to the end customer, but participate in validation."
                }
            },
            "xml": {
                "name": "licensetemplate"
            }
        },
        "Licensee": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "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."
                },
                "active": {
                    "type": "boolean",
                    "description": "If set to 'false', the Licensee is disabled. Licensee can not obtain new Licenses, and validation is disabled."
                }
            },
            "xml": {
                "name": "licensee"
            }
        },
        "License": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "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."
                },
                "active": {
                    "type": "boolean",
                    "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."
                },
                "name": {
                    "type": "string",
                    "description": "Name for the Licensed item. Set from License Template on creation, if not specified explicitly."
                },
                "price": {
                    "type": "number",
                    "format": "double",
                    "description": "'price' for the License. If >0, it must always be accompanied by the currency specification. Read-only, set from License Template on creation."
                },
                "currency": {
                    "type": "string",
                    "description": "Specifies currency for the License price. Check data types to discover which currencies are supported. Read-only, set from License Template on creation."
                },
                "hidden": {
                    "type": "boolean",
                    "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."
                }
            },
            "xml": {
                "name": "license"
            }
        },
        "Transaction": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "description": "Unique number (across all Products of a Vendor) that identifies the Transaction. This number is always generated by NetLicensing."
                },
                "active": {
                    "type": "string",
                    "description": "Always true for the Transactions"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "CANCELLED",
                        "CLOSED",
                        "PENDING"
                    ]
                },
                "source": {
                    "type": "string",
                    "enum": [
                        "SHOP"
                    ]
                }
            },
            "xml": {
                "name": "transaction"
            }
        },
        "Token": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string"
                },
                "active": {
                    "type": "boolean"
                },
                "expirationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "tokenType": {
                    "type": "string"
                },
                "shopURL": {
                    "type": "string"
                },
                "licenseNumber": {
                    "type": "string"
                },
                "vendorNumber": {
                    "type": "string"
                }
            },
            "xml": {
                "name": "token"
            }
        },
        "PaymentMethod": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string"
                },
                "active": {
                    "type": "boolean"
                }
            },
            "xml": {
                "name": "paymentmethod"
            }
        },
        "licensingModel": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            },
            "xml": {
                "name": "licensingModel"
            }
        },
        "discount": {
            "type": "object",
            "properties": {
                "totalPrice": {
                    "type": "number",
                    "format": "double"
                },
                "currency": {
                    "type": "string"
                },
                "amountPercent": {
                    "type": "string"
                }
            },
            "xml": {
                "name": "discount"
            }
        },
        "Bundle": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "string",
                    "description": "Unique number that identifies the Bundle. Vendor can assign this number when creating a Bundle or let NetLicensing generate one."
                },
                "active": {
                    "type": "boolean",
                    "description": "If set to 'false', the bundle is disabled. Licensees can not obtain new licenses."
                },
                "name": {
                    "type": "string",
                    "description": "Bundle name. Identifies the bundle for the end customer."
                },
                "description": {
                    "type": "string",
                    "description": "Bundle description"
                },
                "price": {
                    "type": "number",
                    "format": "double",
                    "description": "Price for the bundle. If &gt;0, it must always be accompanied by the currency specification."
                },
                "currency": {
                    "type": "string",
                    "description": "Specifies currency for the bundle price. Check data types to discover which currencies are supported."
                },
                "licenseTemplateNumbers": {
                    "type": "string",
                    "description": "Comma-separated license templates numbers."
                }
            },
            "xml": {
                "name": "bundle"
            }
        }
    }
}
