Custom Patches
The Custom Patches API allows to manage fully defined custom patches.
Base URL
https://<ConsoleFQDN>:<Port>/st/console/api/v1.0/custompatch/patches
Supported Requests
| Method | URL | Input | Return | ||||
|---|---|---|---|---|---|---|---|
|
DELETE |
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches/{patchUId} |
Success code |
|||||
|
GET |
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches |
URL Parameters, Metadata | Patch Key and value | ||||
|
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches/{patchUId} |
URL Parameters, Metadata | Patch Key and value | |||||
|
POST |
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches |
Request Body | Patch details | ||||
|
PUT |
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches/{patchUId} |
Request Body | Success code | ||||
Input Models
| Name | Type | Description |
|---|---|---|
| patchUId | String | The unique ID (GUID) of the patch |
| Name | Type | Description |
|---|---|---|
| Key | String | The metadata key. |
| Value | String | The metadata value |
| Name | Required? | Type | Description |
|---|---|---|---|
| KBNumber | Yes | String | Knowledge Base number or identifier for the patch (For example, Patch1). |
| BulletinID | Yes | String | ID of the associated patch bulletin (For example, APIBulletin1). |
| PatchSeverity | Yes | String | Severity of the patch. (Unspecified = 0, Critical = 1, Important = 2, Moderate = 3, Low = 4) |
| PatchType | Yes | String | Type of the patch. (None = 0, SecurityPatch = 1, SoftwareDistribution = 2, SecurityTools = 3, NonSecurityPatch = 4, CustomActions = 6) |
| FileChecks | Yes | FileCheck | Array of objects defining file existence/version checks. See FileCheck. |
|
RegistryChecks |
Yes |
Array of objects defining registry key checks (used for install/uninstall/detection). See Registry Check. |
|
|
Deployment |
Yes |
Contains all installation/deployment details. See Deployment. |
|
|
AffectedProducts |
Yes |
Array |
Array of objects identifying the products this patch targets. |
|
MetaData |
No |
Array |
Array of optional key/value pairs for patch. |
| Name | Required? | Type | Description |
|---|---|---|---|
|
ComparisonOperator |
Yes |
enum |
Comparison operator (e.g., EqualTo) •EqualTo •NotEqual •LessThan •LessThanOrEqual •GreaterThan •GreaterThanOrEqual •Exists •NotExists |
|
DataType |
Yes |
enum |
Registry data type (e.g., String) •String •DWord •QWord •Binary •MultiString •ExpandString |
|
Key |
Yes |
String |
Registry key path |
|
ValueData |
Yes |
String |
Value data to match |
|
ValueName |
Yes |
String |
Registry value name |
|
Use64 |
Yes |
Boolean |
Use 64-bit registry view |
| Name | Required? | Type | Description |
|---|---|---|---|
|
FileName |
Yes |
String |
Name of the file to check |
|
FileLocation |
Yes |
String |
Location of the file |
|
FileVersion |
No |
String |
Version of the file |
|
ComparisonType |
Yes |
enum |
Type of file check •GreaterThanIfExists •MustExist |
| Name | Required? | Type | Description |
|---|---|---|---|
|
BaseFileName |
Yes |
String |
Name of the deployment file |
|
FileSize |
No |
Int |
Size of the file in bytes |
|
InstallSwitches |
No |
String |
Command-line switches for installation |
|
SupportedLanguages |
No |
array |
List of supported language names (strings) |
Example with Sample Response
Get paginated list of all custom patches
GET Request
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches
Sample Response
{
"count": 6,
"value": [
{
"fileChecks": [],
"affectedProducts": [
{
"isCustom": true,
"name": "ivanti product",
"registryChecks": [],
"spId": "979db1de-5a8b-4cbb-a4d6-ec5a2c69bbae",
"uid": "5826a6a6-a2bb-4def-8c7a-759e106f7935"
}
],
"registryChecks": [],
"deployment": {
"fileSize": 0
},
"bulletinId": "bull-001",
"patchContent": "ivanti custom bulletin 3",
"patchUid": "359798d3-fe66-4d4f-9458-a785b90cd21d",
"knownBugs": "LANS",
"patchType": "SecurityPatch",
"patchSeverity": "None",
"links": {
"self": {
"href": "https://localhost:3121/st/console/api/v1.0/custompatch/patches/359798d3-fe66-4d4f-9458-a785b90cd21d"
}
},
"metadata": []
}
]
}
Other Request Examples
DELETE Request
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches/{patchUId}
GET Request
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches/{patchUId}
POST Request
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches
{
"count": 2,
"value": [
{
"fileChecks": [],
"affectedProducts": [
{
"isCustom": true,
"name": "6gFEQIsecCdp",
"registryChecks": [],
"spId": "3e28100c-bd78-4c53-bce9-49125bc92643",
"uid": "c1671ea0-479e-4e16-a346-9939e8481c1d"
}
],
"registryChecks": [
{
"comparisonOperator": "GreaterThanOrEqual",
"dataType": "String",
"key": "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{83029376-5827-47D3-A82C-DA771434EFBE}",
"use64": true,
"valueData": "9.8.119.0",
"valueName": "DisplayVersion"
}
],
"deployment": {
"baseFileName": "IvantiSecurityControls_agtless.exe",
"fileSize": 101000000,
"installSwitches": "/quiet",
"supportedLanguages": [
"English"
]
},
"bulletinId": "6FEQISEC",
"patchComment": "Isec old bulletin",
"id": "5d5f58f7-d7f3-4a40-b893-b2ab2804ba45",
"kbNumber": "6ISECFEQKB",
"patchType": "SecurityPatch",
"patchSeverity": "Critical",
"links": {
"self": {
"href": "https://desktop-tu4cqgs:3121/st/console/api/v1.0/custompatch/patches/5d5f58f7-d7f3-4a40-b893-b2ab2804ba45"
}
},
"metadata": []
},
{
"fileChecks": [
{
"comparisonType": "MustExist",
"fileLocation": "C:\\Program Files\\Notepad++\\",
"fileName": "npp.8.6.7.Installer.x64.exe",
"fileVersion": "8.6.7.0"
}
],
"affectedProducts": [
{
"isCustom": true,
"name": "ISec Product",
"registryChecks": [],
"spId": "a0dfabae-235c-490b-9df1-2499f32b40d9",
"uid": "f7fca03c-47a3-4cb2-84ab-6e9d97052202"
}
],
"registryChecks": [
{
"comparisonOperator": "GreaterThanOrEqual",
"dataType": "String",
"key": "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Notepad++",
"use64": true,
"valueData": "8.5",
"valueName": "DisplayVersion"
}
],
"deployment": {
"baseFileName": "npp.8.6.7.Installer.x64.exe",
"fileSize": 4854296,
"installSwitches": "/S",
"supportedLanguages": [
"English"
]
},
"bulletinId": "ISEC-2026-006",
"patchComment": "This bulletin addresses critical vulnerabilities in the custom application",
"id": "47b668a2-6771-40ef-9b6d-ea1f517c3eff",
"kbNumber": "ISec-2026-006",
"patchType": "SecurityPatch",
"patchSeverity": "Critical",
"links": {
"self": {
"href": "https://desktop-tu4cqgs:3121/st/console/api/v1.0/custompatch/patches/47b668a2-6771-40ef-9b6d-ea1f517c3eff"
}
},
"metadata": [
{
"key": "catalogInfo",
"value": "https://help.ivanti.com/iv/help/en_US/isec/API/Topics/Agent-Deployments.htm"
}
]
}
]
}
PUT Request
https://<consoleFQDN:port>/st/console/api/v1.0/custompatch/patches/{patchUId}
{
"fileChecks": [
{
"comparisonType": "MustExist",
"fileLocation": "C:\\Program Files\\Notepad++\\",
"fileName": "npp.8.6.7.Installer.x64.exe",
"fileVersion": "8.6.7.0"
}
],
"affectedProducts": [
{
"spId": "a0dfabae-235c-490b-9df1-2499f32b40d9",
"uid": "f7fca03c-47a3-4cb2-84ab-6e9d97052202"
}
],
"registryChecks": [
{
"comparisonOperator": "GreaterThanOrEqual",
"dataType": "String",
"key": "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Notepad++",
"use64": true,
"valueData": "8.5",
"valueName": "DisplayVersion"
}
],
"deployment": {
"baseFileName": "npp.8.6.7.Installer.x64.exe",
"fileSize": 4854296,
"installSwitches": "/S",
"supportedLanguages": [
"English"
]
},
"bulletinId": "ISEC-2026-006",
"patchComment": "This bulletin addresses critical vulnerabilities in the custom application",
"id": "47b668a2-6771-40ef-9b6d-ea1f517c3eff",
"kbNumber": "ISec-2026-006",
"patchType": "SecurityPatch",
"patchSeverity": "Critical",
"links": {
"self": {
"href": "https://desktop-tu4cqgs:3121/st/console/api/v1.0/custompatch/patches/47b668a2-6771-40ef-9b6d-ea1f517c3eff"
}
},
"metadata": [
{
"key": "catalogInfo",
"value": "https://help.ivanti.com/iv/help/en_US/isec/API/Topics/Agent-Deployments.htm"
}
]
}
Output Models
| Name | Type | Description |
|---|---|---|
|
baseFileName |
String |
The name of the patch file to deploy |
|
installSwitches |
String |
Command line switches for installation |
|
fileSize |
Integer |
Size of the patch file in KB |
|
supportedLanguages |
Array |
Array of supported language codes (e.g., ["English", "Dutch"]). |
| patchComment | String | User comment for the patch |
| bulletinId | String | Bulletin identifier |
| id | String | Unique patch identifier (GUID) |
| kbNumber | String | Knowledge Base number |
| patchType | String | Type of patch (e.g., SecurityPatch) |
| patchSeverity | String | Severity of the patch (e.g., Critical) |
| links | Object | Hypermedia links (contains self-link) |
| metadata | Array | Additional metadata as key-value pairs |
| Name | Type | Description |
|---|---|---|
|
fileName |
String |
The name of the file to check. |
|
fileLocation |
String |
The full path to the file. |
|
fileVersion |
String |
The expected version of the file. |
|
fileComparisonType |
String |
Condition to compare the file (For example, MustExist, GreaterThanIfExists). |
| Name | Type | Description |
|---|---|---|
|
Key |
String |
The registry key path (For example: SOFTWARE\\CustomPatch). |
|
ValueName |
String |
The name of the registry value |
|
DataType |
String/Integer |
The data type of the registry value |
|
ValueData |
String |
The expected data within the value. |
|
Use64 |
Boolean |
True if checking the 64-bit hive. |
|
comparisonOperator |
string |
Operator for comparison (e.g., GreaterThanOrEqual) |