Skip to end of metadata
Go to start of metadata

This is the reference documentation for the RESTful API provided by NetLicensing. The NetLicensing API (RESTful) is for developers integrating NetLicensing with applications and administrators who want to script interactions with the NetLicensing server.

Getting started

Since NetLicensing API (RESTful) is based on open standards, you can use any web development language to access the API; there are also lots of pre-built libraries for interacting with NetLicensing.

Services

NetLicensing exposes all available service's functionality via an Application Programming Interface (API).

To access the API methods you will need a NetLicensing vendor account. If you do not have one already, signup here.

EndpointAllowed operationsSupported authentication method (?)

Product Services

LISTGETCREATEUPDATEDELETE

BASIC AUTH

Product Module ServicesLISTGETCREATEUPDATEDELETE

BASIC AUTH

License Template ServicesLISTGETCREATEUPDATEDELETE

BASIC AUTH

Licensee ServicesLISTGETCREATEUPDATEDELETEVALIDATE

BASIC AUTHAPIKEY

License ServicesLISTGETCREATEUPDATEDELETE

BASIC AUTH

Transaction ServicesLISTGETCREATEUPDATE

BASIC AUTH

Token ServicesLISTGETCREATEDELETE

BASIC AUTHAPIKEY

Payment Method ServicesLISTGETUPDATE

BASIC AUTH

Utility ServicesLIST

BASIC AUTH

Structure of the RESTful URIs

NetLicensing API (RESTful) provide access to resources (data entities) via URI paths. To use a RESTful API, your application will make an HTTP(S) request and parse the response. The NetLicensing API (RESTful) uses JSON or XML as its response format

Use following request headers:
Accept: application/json       # for JSON formatted responses
Accept: application/xml        # for XML formatted responses

and the standard HTTP methods like GET, PUT, POST and DELETE (see endpoints documentation to find out which methods are supported by particular resource).

URIs for NetLicensing API (RESTful) resources have the following structure:

https://<host>[:<port>]/core/v2/rest/<resource>[?<query>]

where:

<host> - NetLicensing host name or IP, normally go.netlicensing.io if you access NetLicensing directly

<port> - NetLicensing port, normally can be omitted (default 443 for https) if you access NetLicensing directly

<resource> - represents named resource (e.g. product, license etc.), you'll find the resource name on the wiki page describing corresponding resource

<query> - parameters passed with the request (see below)

Icon

In case the requested resource does not exist, HTTP response with status code 404 will be returned.

Parameters

Resources may require additional input parameters, in which case parameters must be passed as query string for GET and DELETE methods and as a message body (payload) for POST and PUT.

Parameters are passed in 'key=value' form, separated by '&' symbol. When passed in a message body (for POST and PUT), it corresponds to the Form Encoded Data format. Use the following request header in this case:

Content-Type: application/x-www-form-urlencoded 

Response

Depending on the value passed in the Accept: field of the request header, NetLicensing will reply in XML or JSON format. The structure of the response is documented in XML Schema Definition that can be downloaded at https://go.netlicensing.io/schema/context/netlicensing-context-2.1.xsd.

Data Types

All values are transmitted over HTTP in text form. The following table summarizes the text representation of non-trivial data types:

Type

Representation

Timestamp

Timestamps follow XML Schema Part 2: Datatypes for xsd:Time, which corresponds to ISO 8601 format. On a java backend, javax.xml.bind.DatatypeConverter class is used for conversion.

Monetary

Always represented by two fields: decimal "price" and "currency" - 3-character code according to ISO 4217. Currently only "EUR" is supported.

Custom properties

Besides standard properties defined for each entity type (see JavaDoc), arbitrary custom properties can be added to entities. See Custom Properties for details.