...
Call the Members Account Licensing APIs to register your Iguana ID to generate a license code
Expand |
---|
title | 1 - 2 a) Get an authentication token |
---|
|
Members Account Licensing API base URL: https://my.interfaceware.com Get an Authentication Token POST /api This API method returns a JSON object containing a session token which will be used with the subsequent license API calls. Parameters: username: Your Members Account username string password: Your Members Account password string method: The API method session.login string
Response: Code Block |
---|
| {
"data": {
"Token": "277DBB66C802BE3287207FFE120595EC",
"Info": {
"Permissions": {
"LicenseTransfer": true,
"TemporaryLicense": true,
"LicenseRead": true,
"FinancialRead": false,
"LicenseWrite": true
},
"CompanyName": "Richard Wang - Client "
}
},
"status": "ok"
} |
Example curl command calling the API and parsing the Token from the response: Code Block |
---|
| IguanaToken=`curl -k -X POST "https://my.interfaceware.com/api?username=<InterfacewareUser>&password=<InterfacewarePassword>&method=session.login" | jq -r '.data.Token'` |
|
Expand |
---|
title | 2 - b) Get a list of entitlements (license types) and choose the license type to activate |
---|
|
Members Account Licensing API base URL: https://my.interfaceware.com Get a List of Entitlements GET /api This API method returns a JSON object containing a list of license types and select the ID for the type you want to activate. Parameters: product: The product you want licenses for - IguanaX string token: Your authentication token string (from the first call) method: The API method license.listentitlements string
Response: Code Block |
---|
| {
"data": [
{
"entitlements_total": "3",
"name": "IguanaX Dev",
"num_components": "50",
"id": "1",
"entitlements_used": "1",
"license_expiry": "0",
"log_search": "365"
},
{
"entitlements_total": "3",
"name": "IguanaX Test",
"num_components": "50",
"id": "2",
"entitlements_used": "1",
"license_expiry": "0",
"log_search": "365"
},
{
"entitlements_total": "3",
"name": "Iguana X Prod",
"num_components": "50",
"id": "3",
"entitlements_used": "1",
"license_expiry": "0",
"log_search": "365"
},
],
"status": "ok"
} |
Example curl command calling the API and parsing the selected license entitlement id from the response: Code Block |
---|
| LicenseName="IguanaX Test" #change to name of license type to activate
EntitlementID=`curl -k -X POST "https://my.interfaceware.com/api?method=license.listentitlements&product=IguanaX&token=<IguanaToken>" | jq -r --arg name "$LicenseName" '.data[] | select(.name==$name) | .id'` |
|
Expand |
---|
title | 3 - 2 c) Register your Iguana ID to activate a license code |
---|
|
Members Account Licensing API base URL: https://my.interfaceware.com Register your Iguana IDto Activate a License Code POST /api This API method returns a JSON object containing the license description and activated license code. Parameters: product: The product you want licenses for - IguanaX string token: Your authentication token string (from the first call) method: The API method license.activate string description: A description to pair with the license (test, prod, etc.) string entitlementid: The ID of the license you want to activate string instanceid: The Iguana ID of the instance that you want to apply the license to string
Response: Code Block |
---|
| {
"data": {
"description": "Test",
"code": "4492A1B5CDA25D79DFCC5DC3GHS4448B9D8A3CCC98",
"license_expiry": "2025-08-13",
"name": "IguanaX Test",
"instanceid": "THSWPRHMUXTT7MRR",
"log_search": 365,
"num_components": 50
},
"status": "ok" |
Example curl command calling the API and parsing the license code from the response: Code Block |
---|
| IguanaLicenseCode=`curl -k -X POST "https://my.interfaceware.com/api?method=license.activate&product=IguanaX&token=<IguanaToken>&description=IguanaLicense&entitlementid=<EntitlementID>&instanceid=<IguanaID>" | jq -r '.data.code'` |
|
Apply the license code to the new target Iguana instance
There are two possible methods to apply the generated license code to the new Iguana instance:
...
Expand |
---|
title | Option B: Use the IguanaX API to apply the license code to the target Iguana instance |
---|
|
Use your Iguana instance IP address and port: https://127.0.0.1:7654 Authenticate GET /session/login
To call the IguanaX APIs you must first login and get a session cookie from the response header to authenticate your subsequent requests. Parameters: Response Header: Code Block |
---|
| Content-Length: 128
Set-Cookie: IguanaSession-jYQGeQWk97ylKuP8AmEiad=z7WR4Xwzk51hXMP2e3WeZa; path=/; HttpOnly; SameSite=Strict |
Example curl command calling the /session/login API and parsing to retrieve Iguana session cookie the response header Set-Cookie to authenticate the next API call: Should look similar to: IguanaSession-jYQGeQWk97ylKuP8AmEiad=z7WR4Xwzk51hXMP2e3WeZa Code Block |
---|
| IguanaCookie=`curl -i -k -X GET "http://127.0.0.1:7654/session/login?username=<user>&password=<pass>" | grep -i 'Set-Cookie: ' | awk '{print $2}' | sed 's/;$//'` |
Apply the license codePOST /license/set
This API method applies the registered license code to the Iguana instance and returns a JSON object containing the request success or failure. To authenticate, the obtained Cookie is provided in the header of the request. Parameters: Response: Code Block |
---|
| {
"data": {},
"success": true
} |
Example curl command calling the /license/set API to apply the license code and activate the Iguana instance: Code Block |
---|
| IguanaID=`curl -k --header "Cookie: $IguanaCookie" -X POST "http://127.0.0.1:7654/license/set?license=<LicenseCode>" |
|
License Transfer
Get the Iguana ID of the old Iguana instance
Expand |
---|
| step 1 above in Activate a License License Activation Step 1 for how to |
| get |
...
You can refer to License Activation step 1 to review the options for how to obtain the Iguana ID |
...
Obtain Authentication Token.
...
Gain Access to the Entitlement ID.
Call the Members Account Licensing APIs to register your Iguana ID to generate a license code
Expand |
---|
title | 2 a) Get authentication token |
---|
|
|
Expand |
---|
title | 2 b) Get the entitlement ID |
---|
|
|
Expand |
---|
title | 2 c) Gain access to the Activation ID of the current Iguana Instance. |
---|
|
...
Code Block |
---|
| --Used to find activation ID
local Activate = net.http.post{
url = "https://my.interfaceware.com/api",
parameters = {
product = 'Iguana',
token = AuthToken,
method = 'license.listActivations',
entitlementid = entitlement,
},
live = true
} |
|
Expand |
---|
title | 2 d) Gain access to the new code and transfer the new Iguana Instance. |
---|
|
Code Block |
---|
local Activate2 = net.http.post{
url = "https://my.interfaceware.com/api",
parameters = {
product = 'Iguana',
token = AuthToken,
method = 'license.UpdateActivationInfo',
description = 'license description',
activationid = activation,
instance_id = iguanaID
},
live = true
} |
|
Apply the license code to the new Iguana Instance
Expand |
---|
title | See License Activation Step 3 for how to apply a license code |
---|
|
You can refer to License Activation step 3 to review the options for how to apply a license code. |