This request is used in order to get a list of license keys known by the Revulytics servers along with their details.
This is also used to search the key registry for a particular key or set of keys either by the key value itself or by
another property such as by the expiry date or the assigned license type.

productId (integer) – The product ID on which this request is being done

filters (object) –

Optional JSON object to apply filters to retrieve subset of the keys on the server.
Can contain any number of the following members:

licenseKey(object) – Filter by license key

type(string) – The data type of the value. Can be string, stringArray, or regex

value(string/array) – Contains either a string with the full license key, a list of strings with full license keys, or a string containing a regular expression.

addedDate(object) – Filter based on the date added to the key registry

type(string) – The data type of the filter. Can be date or dateRange.

value(string) – To be used only if type is date. Should contain a single date formatted as YYYY-MM-DD

min(string) – To be used if type is dateRange. Should contain the minimum date formatted as YYYY-MM-DD. Can be used by itself or in conjuction with max.

max(string) – To be used if type is dateRange. Should contain the maximum date formatted as YYYY-MM-DD. Can be used by itself or in conjuction with min.

expiryDate(object) – Filter based on the date the key is set to expire

type(string) – The data type of the filter. Can be date or dateRange

value(string) – To be used only if type is date. Should contain a single date formatted as YYYY-MM-DD.

min(string) – To be used if type is dateRange. Should contain the minimum date formatted as YYYY-MM-DD. Can be used by itself or in conjuction with max.

max(string) – To be used if type is dateRange. Should contain the maximum date formatted as YYYY-MM-DD. Can be used by itself or in conjuction with min.

autoCollected(boolean) – Whether the keys to show were automatically collected by the SDK or not (uploaded to the server by the vendor)

overQuotaCount(object) – Filter based on whether the key is oversubscribed and by how much. A negative number means that the key is running under-quota meaning that the user may still use it on more machines. The number 0 means that the quota has all been used but it hasn’t been exceeded. Positive numbers mean that the key is over-subscribed.

type(string) – The data type of the filter. Can be number or numberRange.

value(integer) – To be used only if type is number. Should contain a single number.

min(integer) – To be used if type is numberRange. Should contain the minimum overQuota number to include. Can be used by itself or in conjuction with max. If max is present, the min value should be smaller than max.

max(integer) – To be used if type is numberRange. Should contain the maximum overQuota number to include. Can be used by itself or in conjuction with min. If min is present, the max value should be greater than min.

licenseType(object) – Filter based on the license type assigned to the key

type(string) – The data type of the filter value. Can be string or stringArray

value(string/array) – Contains either a string with the license type, or a list of strings with license types to include

licenseStatus(array) – Filter based on the license status flags assigned to the key. This filter contains an array of objects. Each object defines a set of flags and their respecive value. The flags in each object are “ANDed” together. If the array contains multiple objects, these objects are “ORed” together. In the example above, the keys have to be either “not activated” and “not expired”OR“activated” and “not blacklisted”. Each object in the array can contain any number of the following members:

activated(boolean) – Whether the key is set to activated

blacklisted(boolean) – Whether the key is set to blacklisted

expired(boolean) – Whether the key is set to expired

whitelisted(boolean) – Whether the key is set to whitelisted

sorting (object) –

Optional JSON object to apply sorting on the list of keys.
Should contain the following members:

field(string) – The field by which to sort. Can be addedDate or overQuotaCount. Default is addedDate.

order(string) – The order by which to sort. Can be ascending or descending. Default is ascending.

paging (object) –

Optional JSON object to specify the maximum number of keys to retrieve and how many to skip.
Should contain the following members:

startAt(integer) – The number of keys to skip from the beginning. Default is 0.

limit(integer) – The maximum number of keys to include in the response. Default is 100. Maximum allowed is 1000.

expiryDate(string/null) – The date the key is set to expire formatted as YYYY-MM-DD. If an expiry date is not set, this value contains null.

installQuota(integer) – The maximum number of installations allowed to use this key

installCount(integer) – The number of installations using this key

overQuotaCount(integer) – This field is computed by subtracting the installQuota from the installCount. If a key is not being over-used, this number will be a negative number or 0. If it is running over-quota, it will show a positive number.

addedDate(string) – The date and time when this key was added to the key registry formatted as YYYY-MM-DDThh:mm:ss

autoCollected(boolean) – Whether the key was automatically collected by the SDK or not (uploaded to the server by the vendor)

lastEditedDate(string/null) – The date and time when this key was last edited formatted as YYYY-MM-DDThh:mm:ss. If this key has been auto-collected and never edited, this field will contain a null value.

lastEditedBy(object/null) – A JSON object containing the details about the user who last edited this key. If this key has been auto-collected and never edited, this field will contain a null value. If the user who last edited this key was removed from Usage Intelligence after requesting account deletion, this will contain an empty JSON object.

name(string) - The name of the user who last edited this key

surname(string) - The surname of the user who last edited this key

email(string) - The authentication email address of the user who last edited this key

notes(string) – A string value used to store reference notes about this key.

This request is used in order to update existing keys or to insert new keys into the key registry. Keys can be updated one by one or in batch. A single batch can contain both new and
existing keys to be inserted or updated accordingly.

productId (integer) – The product ID on which this request is being done

keyUpdates (array) –

Array containing a number of JSON objects each containing a license key and the fields to be updated. The license key is the only
compulsory value. All the rest are optional as you may send a subset of the fields. If a license key is already present in the key
registry, the values that are not sent in this object are left untouched in the key registry. If the key is not presnt and an insert
is taking place, default values are applied to the missing fields. The object members are as follows:

licenseKey(string) – The license key to be updated or inserted to the key registry. This value is compulsory.

licenseType(string) – The license type such as purchased, freeware, etc.. Default is unknown.