Search Knowledge Base by Keyword
JetPatch
Overview
JetPatch is a patch management and remediation platform for server estates. It sits above the native patching tools on each operating system, keeps an inventory of managed endpoints and their agents, tracks which updates each machine is missing against a compliance baseline, and groups the fixes into remediation plans that can be scheduled and tracked to completion. Its server component is addressed on the API as vmanage-server.
The ReadyWorks connector authenticates to that API with HTTP digest authentication, using the username and password you supply, and then issues plain GET calls against the JetPatch REST paths. Each shipped job writes into its own staging table in the ReadyWorks estate: endpoints, patch and endpoint compliance, the patch catalogue and the remediation plan list.
This is what makes patch state a first-class part of the estate rather than a report that lives inside JetPatch. Once the endpoint list is reconciled against the device records already in the fabric, you can see which machines JetPatch does not know about, which are behind on compliance, and which are named in an open remediation plan. That drives readiness gates on a migration or refresh wave: a device that is out of patch compliance or is mid-remediation is not a device you want to touch this weekend.
The connector is declared bidirectional. The inbound side is where the value is, with six shipped jobs. The outbound side exposes a full job form (endpoint, method type, outbound and return field lists and a raw JSON template) and ships one generic POST shell with no endpoint set, so any write back into JetPatch has to be configured from scratch.
Connector Properties
| Property | Value |
|---|---|
| Identifier | JETPATCH CONNECTOR |
| Name | JetPatch |
| Description | Connector for pulling endpoint, remediation plans and compliance information from JetPatch |
| Job Types | Both Inbound and Outbound |
| Order | 260 |
| Enabled | Yes |
| Locked | Yes |
| Block Update | No |
| Single Authentication | No |
| Windows Only | No |
| Connector Version | 2025-11-18 |
| Hooks | None |
| Additional Job Fields | None |
| Image | ![]() |
Authentication Methods
One authentication method is shipped. JetPatch’s API uses HTTP digest authentication rather than a token exchange.
| Method | Identifier | Base Method | Script | Order | Enabled | Config Fields |
|---|---|---|---|---|---|---|
| Digest Authentication with username / password | JETPATCH CONNECTOR_jetpatch |
JSON Rest API_jetpatch |
json_rest_api.php |
160 | Yes | 5 |
Method 1: Digest Authentication with username / password (JETPATCH CONNECTOR_jetpatch)
JetPatch Digest Authentication
Sends the username and password using HTTP digest, which means cURL answers the server’s challenge with a hashed response instead of putting the credential on the wire. Use a JetPatch service account with read access to the server inventory and the patch governance area. There is no token to fetch and no session to hold, so every request carries its own challenge and response.
Connection Configuration Fields (5)
| Order | Label | Type | Required | Default | Max Len | Tooltip |
|---|---|---|---|---|---|---|
| 10 | API Domain | text | Yes | https://demo.jetpatch.com |
255 | Enter API domain of the Connection |
| 30 | Server Temporary Working Path | text | Yes | storage/etl5 |
255 | Enter path where temporary files are stored during data processing (exclude starting and ending backslash) |
| 40 | Username | text | No | 1024 | Enter username of the Connection | |
| 50 | Password | password | No | 64000 | Enter password of the Connection | |
| 250 | Additional Job Fields | fields_list | No | Enter list of additional fields to add to staging data for all jobs |
Authentication Configuration
Headers sent on the authentication call:
| Header | Value | Base64 |
|---|---|---|
Content-Type: |
application/json |
Off |
cURL options:
| Option | Authentication Call | Data Calls |
|---|---|---|
USERAGENT |
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 |
Same |
SSL_VERIFYHOST |
false |
Same |
SSL_VERIFYPEER |
false |
Same |
RETURNTRANSFER |
true |
Same |
FOLLOWLOCATION |
true |
Same |
FAILONERROR |
true |
Same |
USERPWD |
%user_name%:%user_pass% |
Same |
HTTPAUTH |
!!CURLAUTH_DIGEST |
!CURLAUTH_DIGEST |
NOTE: This method’s connection form has no Single Authentication field, so the connector-level setting of No applies and cannot be overridden. Every pagination and enumeration loop re-runs the digest handshake, which is an extra round trip per call.
NOTE: The API Domain field is pre-filled with https://demo.jetpatch.com. Replace it with your own JetPatch URL.
Inbound Job Fields Enabled (44)
The inbound job form carries the full generic REST field set, including pagination, the three enumeration levels and the raw JSON body.
| Order | Label | Type | Required | Default | Tooltip |
|---|---|---|---|---|---|
| 10 | Job Description | text | Yes | Enter description of the Job | |
| 20 | Job Schedule | lookup | Yes | Daily | Select frequency Job should run |
| 30 | Enabled | radio | Yes | Yes | Choose if Job is enabled |
| 40 | Use Unparsed Data | radio | No | No | Choose if you wish to parse the incoming data, or leave it in its raw format |
| 50 | Log Raw API Calls | radio | Yes | No | Choose if raw API calls are logged |
| 70 | Destination Table | text | Yes | Enter name of the destination table | |
| 80 | Data Identity | text | No | Enter identity of the Job | |
| 120 | Append New Data to Existing Tables | radio | No | No | Choose if new data will append to the existing destination table, or will create a new destination table |
| 130 | Fields to Index | text | No | Enter fields to index | |
| 170 | Method Type | select | Yes | GET |
Select method type of the Job |
| 190 | API End Point | text | No | Enter API end point of the Job | |
| 200 | API Data Parameters | fields_list | No | Enter API data parameters of the Job | |
| 210 | Body Data Sending Method | select | Yes | JSON Encoded Data | Select method for sending the body data |
| 220 | Raw JSON Body Data | textarea | No | Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used. | |
| 230 | API Return Data Node | text | No | Enter API return data node of the Job | |
| 250 | Pagination Type | select | No | None | Select request paging type of the Job |
| 270 | API Pagination Node | text | No | Enter API pagination node of the Job | |
| 280 | Pagination Offset Start | text | No | Enter request paging offset start of the Job | |
| 290 | Pagination Limit | text | No | Enter request pagination limit of the Job | |
| 300 | Pagination Termination Node | text | No | Enter request paging termination node and value of the Job | |
| 310 | Maximum API Calls | text | No | Enter maximum number of API calls for the Job to make | |
| 320 | Enumeration 1 Type | select | No | None | Enter enumeration level 1 type |
| 330 | Enumeration 1 ETL Job | lookup | No | Select ETL job for the enumeration values | |
| 340 | Enumeration 1 Data Type | data_type | No | Select the data type and fields for enumeration 1 values | |
| 350 | Enumeration 1 Keys End Point | text | No | Enter enumeration 1 keys end point of the Job | |
| 360 | Enumeration 1 Node | text | No | Enter enumeration 1 node of the Job | |
| 370 | Enumeration 1 Fields | fields_list | No | Enter enumeration 1 fields of the Job | |
| 380 | Enumeration 2 Type | select | No | None | Enter enumeration level 2 type |
| 390 | Enumeration 2 ETL Job | lookup | No | Select ETL job for the enumeration 2 values | |
| 400 | Enumeration 2 Data Type | data_type | No | Select the data type and fields for enumeration 2 values | |
| 410 | Enumeration 2 Keys End Point | text | No | Enter enumeration 2 keys end point of the Job | |
| 420 | Enumeration 2 Node | text | No | Enter enumeration 2 node of the Job | |
| 430 | Enumeration 2 Fields | fields_list | No | Enter enumeration 2 fields of the Job | |
| 440 | Enumeration 3 Type | select | No | None | Enter enumeration level 3 type |
| 450 | Enumeration 3 ETL Job | lookup | No | Select ETL job for the enumeration 3 values | |
| 460 | Enumeration 3 Data Type | data_type | No | Select the data type and fields for enumeration 3 values | |
| 470 | Enumeration 3 Keys End Point | text | No | Enter enumeration 3 keys end point of the Job | |
| 480 | Enumeration 3 Node | text | No | Enter enumeration 3 node of the Job | |
| 490 | Enumeration 3 Fields | fields_list | No | Enter enumeration 3 fields of the Job | |
| 500 | Pause Enumeration | text | No | Enter values for pausing enumeration every X calls for Y seconds | |
| 510 | Kill Enumeration on Error | radio | No | No | Choose to stop the enumeration loop on an error or continue processing the loop |
| 520 | Additional Fields | fields_list | No | Enter list of additional fields to add to staging data | |
| 550 | Retry Pause | text | No | Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds. | |
| 560 | Order | text | Yes | Enter order of the Job |
NOTE: Several field labels and tooltips on this form carry unedited text from the shared templates. Enumaration 1 Node is misspelled, and the tooltip on Enumeration 1 Keys End Point reads “Enter enumeration 2 keys end point of the Job”. The fields themselves behave as their level numbers say.
Outbound Job Fields Enabled (13)
Thirteen outbound job fields are exposed, covering the endpoint, method type, data sending methods, the outbound and return field lists and a raw JSON template that overrides the generated body.
| Order | Label | Type | Required | Default | Tooltip |
|---|---|---|---|---|---|
| 10 | Job Description | text | Yes | Enter description of the Job | |
| 30 | Enabled | radio | Yes | Yes | Choose if Job is enabled |
| 50 | Log Raw API Calls | radio | Yes | No | Choose if raw API calls are logged |
| 170 | Method Type | select | Yes | GET |
Select method type of the Job |
| 180 | Data Sending Method | select | Yes | JSON Encoded Data | Select method for sending the outbound data |
| 190 | API End Point | text | No | Enter API end point of the Job | |
| 200 | API Data Parameters | fields_list | No | Enter API data parameters of the Job | |
| 210 | Body Data Sending Method | select | Yes | JSON Encoded Data | Select method for sending the body data |
| 260 | Return Data Fields List | fields_list | Yes | Enter return data fields of the Job | |
| 530 | Outbound Fields List | fields_list | Yes | Enter outbound fields of the Job | |
| 540 | Ignore Empty Outbound Fields | radio | No | Yes | Ignore, and do not include, any outbound fields that are empty and have no data |
| 550 | Raw JSON Outbound Template | textarea | No | Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields. | |
| 560 | Order | text | Yes | Enter order of the Job |
Inbound Job Templates (6)
Six inbound templates ship, all disabled. Together they cover the four things ReadyWorks wants from JetPatch: what is managed, what is missing, what is available and what is planned.
| # | Job Description | Destination Table | API End Point | Enabled | What It Pulls |
|---|---|---|---|---|---|
| 1 | Retrieve Endpoints | jetpatch_endpoints |
/vmanage-server/rest/rest-api/servers/ |
No | The managed server inventory from /vmanage-server/rest/rest-api/servers/: one row per endpoint JetPatch manages, with its identity, agent state and operating system details. This is the join key to the device records already in the estate. |
| 2 | Retrieve Endpoint Compliance | jetpatch_endpoint_compliance |
/vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1 |
No | Per-server compliance rows from the patch governance area, filtered to a single remediation plan by the shipped remediationPlanId parameter. It answers how each endpoint stands against that plan’s baseline. |
| 3 | Retrieve Patch Compliance | jetpatch_servers_compliance |
/vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1 |
No | The same servers-compliance collection without the plan filter, landing in its own table: the compliance posture of every server against the governance baseline, which patches are outstanding and how far behind each machine is. |
| 4 | Rest GET API | api_data |
Not set |
No | An empty GET skeleton with no endpoint set, writing to a staging table called api_data. Copy it to reach any JetPatch path the five named templates do not cover. |
| 5 | Retrieve Patches | jetpatch_patches |
/vmanage-server/rest/experimental/patch-governance/updates?page=0&size=-1 |
No | The patch catalogue from the patch governance updates endpoint: the individual updates JetPatch knows about, with their identifiers and metadata, requested in a single unbounded page. |
| 6 | Retrieve Remediation Plans | jetpatch_remediation_plans |
/vmanage-server/rest/experimental/patch-governance/remediation-plans |
No | The remediation plan list: the scheduled patching campaigns defined in JetPatch, with their identity and configuration. Use it to look up the plan identifier that the endpoint compliance job filters on. |
Job Template Configuration
Settings Common to All Six Templates
| Setting | Value |
|---|---|
| Enabled | No |
| Job Schedule | Daily (15 1 * * *) |
| Allow Empty Table | Yes |
| Append Files to Same Destination Table | No |
| Append New Data to Existing Tables | No |
| Use Unparsed Data | No |
| Convert UUID-Keyed Objects to Rows | No |
| Ignore XML Attributes | No |
| Log Raw API Calls | No |
| Method Type | GET |
| Body Data Sending Method | JSON Encoded Data |
Settings That Vary by Template
| Template | ID | Order | Destination Table | Data Identity | API End Point |
|---|---|---|---|---|---|
| Retrieve Endpoints | 81 | 5 | jetpatch_endpoints |
/vmanage-server/rest/rest-api/servers/ |
|
| Retrieve Endpoint Compliance | 76 | 10 | jetpatch_endpoint_compliance |
api_data |
/vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1 |
| Retrieve Patch Compliance | 77 | 10 | jetpatch_servers_compliance |
api_data |
/vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1 |
| Rest GET API | 78 | 10 | api_data |
api_data |
Not set |
| Retrieve Patches | 79 | 100 | jetpatch_patches |
/vmanage-server/rest/experimental/patch-governance/updates?page=0&size=-1 |
|
| Retrieve Remediation Plans | 80 | 101 | jetpatch_remediation_plans |
api_data |
/vmanage-server/rest/experimental/patch-governance/remediation-plans |
Job Parameters and Enumeration
Retrieve Endpoint Compliance
API data parameters:
| Key | Value |
|---|---|
remediationPlanId |
29501 |
NOTE: All six templates ship with Enabled = No. Review the endpoints and schedules, then enable the ones you need.
NOTE: Four of the six call paths under /rest/experimental/. JetPatch may change the shape of an experimental endpoint between releases, so re-check these jobs after a JetPatch upgrade.
Outbound Job Templates (1)
One outbound template ships as a generic shell.
| # | Job Description | Method | API End Point | Enabled | What It Does |
|---|---|---|---|---|---|
| 1 | Rest POST API | POST |
Not set |
No | A disabled POST skeleton with no endpoint set. It sends a single Record Key field and expects status, message and data.record_key back. Configure the endpoint and the outbound field list to match whatever JetPatch call you intend to make. |
Job Template Configuration
Settings
| Setting | Value |
|---|---|
| Order | 10 |
| Enabled | No |
| Log Raw API Calls | No |
| Method Type | POST |
| Body Data Sending Method | JSON Encoded Data |
| Data Sending Method | JSON Encoded Data |
| Ignore Empty Outbound Fields | Yes |
Job Parameters and Enumeration
Rest POST API
Outbound fields list:
| Label | Name | Type | Required | Pattern |
|---|---|---|---|---|
Record Key |
record_key |
String | on |
Return data fields:
| Label | Name |
|---|---|
Return Status |
status |
Return Message |
message |
Record Key |
data.record_key |

