Link
✎

API Conventions

These rules apply to every endpoint. The service pages describe only what is specific to each endpoint and do not repeat them.

Base URL

https://go.netlicensing.io/core/v2/rest/<resource>

If go.netlicensing.io cannot be resolved (a DNS problem outside of our control), retry the request with the backup host netlicensing.labs64.com.

Requests

Item Rule
Authentication HTTP Basic, with your vendor credentials or an API key. See Security.
Methods GET reads, POST creates and updates, DELETE deletes.
Query parameters Used for GET and DELETE.
Body Used for POST, form encoded: Content-Type: application/x-www-form-urlencoded. Without a Content-Type, POST bodies are read as form encoded.

Responses

XML is the default. Send Accept: application/json to get JSON. If Accept contains both formats, XML wins.

Every response uses the same envelope, described by the XML schema. Each entity is one item with a type, and its fields are a flat list of property name/value pairs. All values are strings.

<netlicensing xmlns="http://netlicensing.labs64.com/schema/context">
    <items>
        <item type="Licensee">
            <property name="number">I001</property>
            <property name="active">true</property>
        </item>
    </items>
</netlicensing>

Errors

Errors use the same envelope, with an info entry of type ERROR whose id names the error.

Status Meaning
200 Request succeeded, the body contains the result.
204 Request succeeded, there is no body (for example after a delete).
400 Invalid request or business rule violation. A missing entity also returns 400, not 404.
401 Missing or wrong credentials.
402 The operation is not included in your pricing plan.
403 The credentials are valid, but the role may not call the operation.
404 Unknown endpoint, a feature that is not available, or an unsupported HTTP method.
429 Too many requests: the system is busy and you are above your plan’s API Rate Limit. Retry after the number of seconds in the Retry-After header.
500 Internal error.

Paging, sorting and filtering

List endpoints accept one filter query parameter that holds key=value pairs separated by ;:

GET /core/v2/rest/licensee?filter=page=0;items=50;sortorder=number;sortdirection=DESC
Key Default Description
page 0 Page number, starting at 0.
items 100 Page size. The maximum is 100.
sortorder number Property to sort by.
sortdirection ASC ASC or DESC.

Roles

Each endpoint lists the lowest API key role that may call it. Roles are cumulative, and vendor credentials (username and password) may call every endpoint.

Role Includes
LICENSEE Validate, transfer, create a shop token.
ANALYTICS LICENSEE plus read access to all entities.
OPERATION ANALYTICS plus create, update and delete for licensees and licenses.
MAINTENANCE OPERATION plus create, update and delete for products, product modules and license templates.
ADMIN Everything an API key can do.

“Analytics and above” on an endpoint therefore means ANALYTICS, OPERATION, MAINTENANCE and ADMIN.

Data types

Type Representation
Boolean true or false.
Timestamp ISO 8601, either a date (2026-10-30) or a date and time (2026-10-30T12:00:00Z).
Monetary Two fields: a decimal price and a currency. Supported currencies: EUR and USD. A price above 0 needs a currency.

Custom properties

On create and update, every form field that is not a reserved property of the entity is stored as a custom property and returned with the entity.

Last updated · Edit this page on GitHub