License API
Products
List Products
4min
Returns a list of all products
GET
Request
Header Parameters
Date
required
String
In RFC7231 format (see "License API Authorization"), eg.: Thu, 17 Nov 2022 20:51:35 GMT
Authorization
required
String
See "License API Authorization" article
Curl
Node.js
JS
Python
Ruby
1curl --location --request GET '/api/v4/products' \
2--header 'Accept: application/json' \
3--header 'Date: string' \
4--header 'Authorization: string'
Responses
200
404
1[
2 {
3 "created_at": "2023-07-15T10:23:15.000Z",
4 "updated_at": "2024-05-20T10:19:32.000Z",
5 "id": 1689416595016925,
6 "product_name": "abc",
7 "short_code": "def",
8 "active": true,
9 "valid_duration": "",
10 "trial_days": 307,
11 "max_activations": 1,
12 "hardware_id_required": false,
13 "is_upgrade": false,
14 "company_id": 276,
15 "allow_trial": true,
16 "enable_maintenance_period": false,
17 "floating_users": 0,
18 "is_floating": false,
19 "is_node_locked": true,
20 "is_user_locked": false,
21 "maintenance_duration": "",
22 "subscription_duration": "",
23 "default_license_type": "perpetual",
24 "max_consumptions": 1,
25 "authorization_method": "license-key",
26 "prevent_vm": false,
27 "allow_overages": false,
28 "consumption_period": null,
29 "max_overages": 0,
30 "reset_consumption": false,
31 "is_archived": false,
32 "is_floating_cloud": false,
33 "floating_timeout": 120,
34 "is_bundle": false,
35 "metadata": {
36 "a": 1
37 },
38 "features": [
39 {
40 "id": 535,
41 "code": "b",
42 "feature_type": "consumption",
43 "max_consumption": 1,
44 "metadata": {
45 "a": "b",
46 "k": "m"
47 }
48 },
49 {
50 "id": 609,
51 "code": "x",
52 "feature_type": "consumption",
53 "max_consumption": 1,
54 "metadata": {}
55 }
56 ]
57 }
58]
TypeScript
JSON
1type ListProductsResponseBody = ({
2 active: boolean,
3 allow_overages: boolean,
4 allow_trial: boolean,
5 authorization_method: 'license-key' | 'user',
6 company_id: number,
7 consumption_period: null,
8 default_license_type: 'perpetual' | 'time-limited' | 'consumption' | 'subscription',
9 enable_maintenance_period: boolean,
10 floating_timeout: number,
11 floating_users: number,
12 hardware_id_required: boolean,
13 id: number,
14 is_archived: boolean,
15 is_bundle: boolean,
16 is_floating_cloud: boolean,
17 is_floating: boolean,
18 is_node_locked: boolean,
19 is_upgrade: boolean,
20 is_user_locked: boolean,
21 maintenance_duration: string | null, // Length of time expressed in days, months or years, e.g. 5d, 2m, 3y
22 max_activations: number,
23 max_consumptions: number,
24 max_overages: number,
25 prevent_vm: boolean,
26 product_name: string,
27 reset_consumption: boolean,
28 short_code: string,
29 subscription_duration: string | null, // Length of time expressed in days, months or years, e.g. 5d, 2m, 3y
30 trial_days: 0,
31 valid_duration: string | null, // Date string in full ISO 8601 format, e.g. "2024-09-27T23:30:48.016Z"
32 created_at: string,
33 updated_at: string,
34 metadata: JSON,
35 features: [
36 {
37 id: number,
38 code: string,
39 feature_type: 'activation' | 'consumption',
40 max_consumption: number,
41 metadata: JSON
42 }
43 ]
44})[];
If an error occurs, the response will have an HTTP status code of 400 or higher, and the response body will contain an error description in the following format:
TypeScript
1{
2 status: number,
3 code: string,
4 message: string
5}
Updated 17 Jan 2025
Did this page help you?