{"info":{"_postman_id":"e6312eb0-169d-487c-a376-5187e19ab3a4","name":"proVconnect API Endpoints","description":"<html><head></head><body><h2 id=\"authentication\"><strong>Authentication</strong></h2>\n<p>The authorization (Basic Auth) uses your account's username and an API key as the password. You can find your personal API key in <strong>“My Account”</strong> on the proVconnect console: <a href=\"https://your-domain.com/#/Options/MyAccount\">https://your-domain.com/#/Options/MyAccount</a>.</p>\n<h2 id=\"request-limitations\">Request Limitations</h2>\n<p>To protect the API from abusive traffic while remaining transparent to legitimate clients, <strong>a token bucket</strong> rate limiting algorithm is applied per authenticated user and per endpoint.</p>\n<p>Each client is allocated a bucket of <strong>10 tokens</strong> that refills continuously at a rate of <strong>1 token every 6 seconds</strong> (10 requests per 60-second window). Short bursts of consecutive requests are tolerated as long as tokens remain available.<br>Once the bucket is exhausted, the endpoint returns:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>HTTP 429 Too Many Requests\nRetry-After: &lt;seconds&gt;\n\n</code></pre><p>The <strong>Retry-After</strong> header indicates the exact number of seconds to wait before the next request will be accepted. This value is calculated in real time based on the current refill state of your bucket — it is not a fixed delay.</p>\n<p>Rate limits are enforced <strong>per user account</strong>, not per IP address. Clients sharing a network proxy or NAT gateway are therefore not penalised collectively.</p>\n<p>If this limitation causes issues for your integration, please contact us to discuss your use case.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"23554899","collectionId":"e6312eb0-169d-487c-a376-5187e19ab3a4","publishedId":"2sBXViiW65","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-01-20T16:57:12.000Z"},"item":[{"name":"Monitoring","item":[{"name":"Get All Incidents","id":"fe355803-f8a5-438c-b1d9-8607b0d3030c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/monitoring/incidents","description":"<h1 id=\"get-all-incidents\">Get All Incidents</h1>\n<p>This endpoint retrieves a <strong>paginated</strong> list of all monitoring incidents from the system. It returns comprehensive details about each incident including timing, status, and associated monitoring information.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<blockquote>\n<p><code>GET {{baseUrl}}/api/v1/monitoring/incidents?page={page}&amp;pageSize={pageSize}</code> </p>\n</blockquote>\n<ul>\n<li><p><code>page</code> (integer, optional): The page number to retrieve (default: 1)</p>\n</li>\n<li><p><code>pageSize</code> (integer, optional): The number of incidents per page (default: 10, max: 50)</p>\n</li>\n</ul>\n<p><strong>Example:</strong><br /><code>GET /api/v1/monitoring/incidents?page=2&amp;pageSize=20</code></p>\n<hr />\n<h2 id=\"response\">Response</h2>\n<p>Returns a paginated object with the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Page</code></td>\n<td>number</td>\n<td>Current page number</td>\n</tr>\n<tr>\n<td><code>PageSize</code></td>\n<td>number</td>\n<td>Number of incidents per page</td>\n</tr>\n<tr>\n<td><code>TotalCount</code></td>\n<td>number</td>\n<td>Total number of incidents in the system</td>\n</tr>\n<tr>\n<td><code>Data</code></td>\n<td>array</td>\n<td>Array of incident objects for the current page</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"incident-object-fields\">Incident Object Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>number</td>\n<td>Unique identifier for the incident</td>\n</tr>\n<tr>\n<td><code>Status</code></td>\n<td>string</td>\n<td>Current status of the incident (e.g., \"Closed\")</td>\n</tr>\n<tr>\n<td><code>StartDate</code></td>\n<td>string</td>\n<td>ISO 8601 datetime when the incident started</td>\n</tr>\n<tr>\n<td><code>EndDate</code></td>\n<td>string</td>\n<td>ISO 8601 datetime when the incident ended</td>\n</tr>\n<tr>\n<td><code>Ack</code></td>\n<td>boolean</td>\n<td>Whether the incident has been acknowledged</td>\n</tr>\n<tr>\n<td><code>Comment</code></td>\n<td>string/null</td>\n<td>Optional comment about the incident</td>\n</tr>\n<tr>\n<td><code>NumberAlerts</code></td>\n<td>number</td>\n<td>Total number of alerts associated with this incident</td>\n</tr>\n<tr>\n<td><code>ClosedBy</code></td>\n<td>string</td>\n<td>Name of the user or system that closed the incident</td>\n</tr>\n<tr>\n<td><code>Duration</code></td>\n<td>string</td>\n<td>Total duration of the incident in HH:MM:SS format</td>\n</tr>\n<tr>\n<td><code>AgentId</code></td>\n<td>number</td>\n<td>ID of the monitoring agent that detected the incident</td>\n</tr>\n<tr>\n<td><code>Hostname</code></td>\n<td>string</td>\n<td>Hostname of the monitored system</td>\n</tr>\n<tr>\n<td><code>IpAddress</code></td>\n<td>string</td>\n<td>IP address of the monitored system</td>\n</tr>\n<tr>\n<td><code>RuleName</code></td>\n<td>string</td>\n<td>Name of the monitoring rule that triggered the incident</td>\n</tr>\n<tr>\n<td><code>AlertLevel</code></td>\n<td>string</td>\n<td>Severity level of the alert (e.g., \"Low\", \"Normal\", \"High\")</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"Page\":1,\n   \"PageSize\":1,\n   \"TotalCount\":42,\n   \"Data\":[\n      {\n         \"Id\":1,\n         \"Status\":\"Closed\",\n         \"StartDate\":\"2025-02-10T11:13:19.6373879Z\",\n         \"EndDate\":\"2025-02-10T11:13:54.1017921Z\",\n         \"Ack\":true,\n         \"Comment\":null,\n         \"NumberAlerts\":1,\n         \"ClosedBy\":\"System user GREGTR\",\n         \"Duration\":\"00:00:35\",\n         \"AgentId\":10,\n         \"Hostname\":\"Alex-VM-Prox-83\",\n         \"IpAddress\":\"192.168.1.104\",\n         \"RuleName\":\"proc low\",\n         \"AlertLevel\":\"Normal\"\n      }\n   ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"usage-notes\">Usage Notes</h2>\n<ul>\n<li><p>This endpoint returns all incidents in the system, regardless of status.</p>\n</li>\n<li><p>Incidents are monitoring events that may contain multiple alerts.</p>\n</li>\n<li><p>The <code>Duration</code> field shows the total time from incident start to end.</p>\n</li>\n<li><p>The <code>ClosedBy</code> field indicates whether the incident was closed manually by a user or automatically by the system.</p>\n</li>\n<li><p>Use the <code>page</code> and <code>pageSize</code> query parameters to control pagination.</p>\n</li>\n<li><p>The <code>TotalCount</code> field allows clients to calculate the total number of pages.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","monitoring","incidents"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"fe355803-f8a5-438c-b1d9-8607b0d3030c"},{"name":"Get Open Incidents","id":"f2e78607-10cd-4dce-a0ee-c14cc8da84b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/monitoring/incidents/open","description":"<h1 id=\"get-open-incidents\">Get Open Incidents</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>Retrieves a <strong>paginated</strong> list of all currently open monitoring incidents. This endpoint returns real-time incident data for active alerts that have not yet been resolved or closed.</p>\n<h2 id=\"request-details\">Request Details</h2>\n<ul>\n<li><p><strong>Method:</strong> <code>GET</code></p>\n</li>\n<li><p><strong>Endpoint:</strong> <code>{{baseUrl}}/api/v1/monitoring/incidents/open</code></p>\n</li>\n<li><p><strong>Query Parameters:</strong></p>\n<ul>\n<li><p><code>page</code> (integer, optional): The page number to retrieve (default: 1)</p>\n</li>\n<li><p><code>pageSize</code> (integer, optional): The number of incidents per page (default: 10, max: 50)</p>\n</li>\n</ul>\n</li>\n</ul>\n<p><strong>Example:</strong><br /><code>GET /api/v1/monitoring/incidents/open?page=2&amp;pageSize=20</code></p>\n<hr />\n<h2 id=\"response-format\">Response Format</h2>\n<p>Returns a paginated object with the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Page</code></td>\n<td>Integer</td>\n<td>Current page number</td>\n</tr>\n<tr>\n<td><code>PageSize</code></td>\n<td>Integer</td>\n<td>Number of incidents per page</td>\n</tr>\n<tr>\n<td><code>TotalCount</code></td>\n<td>Integer</td>\n<td>Total number of open incidents</td>\n</tr>\n<tr>\n<td><code>Data</code></td>\n<td>Array</td>\n<td>Array of incident objects for the current page</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"incident-object-fields\">Incident Object Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>Integer</td>\n<td>Unique identifier for the incident</td>\n</tr>\n<tr>\n<td><code>Status</code></td>\n<td>String</td>\n<td>Current status of the incident (e.g., \"Open\")</td>\n</tr>\n<tr>\n<td><code>StartDate</code></td>\n<td>DateTime</td>\n<td>Timestamp when the incident was first detected (ISO 8601 format)</td>\n</tr>\n<tr>\n<td><code>EndDate</code></td>\n<td>DateTime</td>\n<td>Timestamp when the incident was closed (default value if still open)</td>\n</tr>\n<tr>\n<td><code>Ack</code></td>\n<td>Boolean</td>\n<td>Indicates whether the incident has been acknowledged</td>\n</tr>\n<tr>\n<td><code>Comment</code></td>\n<td>String</td>\n<td>Optional comment or notes about the incident</td>\n</tr>\n<tr>\n<td><code>NumberAlerts</code></td>\n<td>Integer</td>\n<td>Number of alerts associated with this incident</td>\n</tr>\n<tr>\n<td><code>ClosedBy</code></td>\n<td>String</td>\n<td>Username of the person who closed the incident (null if still open)</td>\n</tr>\n<tr>\n<td><code>Duration</code></td>\n<td>String</td>\n<td>Time duration of the incident in HH:MM:SS format</td>\n</tr>\n<tr>\n<td><code>AgentId</code></td>\n<td>Integer</td>\n<td>Identifier of the monitoring agent that detected the incident</td>\n</tr>\n<tr>\n<td><code>Hostname</code></td>\n<td>String</td>\n<td>Hostname of the affected system</td>\n</tr>\n<tr>\n<td><code>IpAddress</code></td>\n<td>String</td>\n<td>IP address of the affected system</td>\n</tr>\n<tr>\n<td><code>RuleName</code></td>\n<td>String</td>\n<td>Name of the monitoring rule that triggered the incident</td>\n</tr>\n<tr>\n<td><code>AlertLevel</code></td>\n<td>String</td>\n<td>Severity level of the alert (e.g., \"Low\", \"Normal\", \"High\")</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"Page\":1,\n   \"PageSize\":10,\n   \"TotalCount\":1,\n   \"Data\":[\n      {\n         \"Id\":74,\n         \"Status\":\"Open\",\n         \"StartDate\":\"2026-01-20T16:23:41.8999685Z\",\n         \"EndDate\":\"0001-01-01T00:00:00Z\",\n         \"Ack\":false,\n         \"Comment\":null,\n         \"NumberAlerts\":1,\n         \"ClosedBy\":null,\n         \"Duration\":\"00:00:09\",\n         \"AgentId\":10,\n         \"Hostname\":\"Alex-VM-Prox-83\",\n         \"IpAddress\":\"192.168.1.104\",\n         \"RuleName\":\"proc low\",\n         \"AlertLevel\":\"High\"\n      }\n   ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>The <code>Data</code> array will be empty if there are no open incidents.</p>\n</li>\n<li><p><code>EndDate</code> will show a default date value (<code>0001-01-01T00:00:00Z</code>) for incidents that are still open.</p>\n</li>\n<li><p><code>ClosedBy</code> and <code>Comment</code> fields may be null for unacknowledged or uncommented incidents.</p>\n</li>\n<li><p>Alert levels help prioritize incident response based on severity.</p>\n</li>\n<li><p>Use the <code>page</code> and <code>pageSize</code> query parameters to control pagination.</p>\n</li>\n<li><p>The <code>TotalCount</code> field allows clients to calculate the total number of pages.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","monitoring","incidents","open"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f2e78607-10cd-4dce-a0ee-c14cc8da84b4"},{"name":"Get Not Acked Incidents","id":"a2be0142-3238-4a74-9dd9-9761404406d1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/monitoring/incidents/notacked","description":"<h1 id=\"get-not-acknowledged-incidents\">Get Not Acknowledged Incidents</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves a <strong>paginated</strong> list of all monitoring incidents that have not been acknowledged. It returns a list of incidents that require attention or review.</p>\n<h2 id=\"endpoint-details\">Endpoint Details</h2>\n<ul>\n<li><p><strong>Method:</strong> <code>GET</code></p>\n</li>\n<li><p><strong>Path:</strong> <code>{{baseUrl}}/api/v1/monitoring/incidents/notacked</code></p>\n</li>\n<li><p><strong>Query Parameters:</strong></p>\n<ul>\n<li><p><code>page</code> (integer, optional): The page number to retrieve (default: 1)</p>\n</li>\n<li><p><code>pageSize</code> (integer, optional): The number of incidents per page (default: 10, max: 50)</p>\n</li>\n</ul>\n</li>\n</ul>\n<p><strong>Example:</strong><br /><code>GET /api/v1/monitoring/incidents/notacked?page=2&amp;pageSize=20</code></p>\n<hr />\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns a paginated object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Page</code></td>\n<td>integer</td>\n<td>Current page number</td>\n</tr>\n<tr>\n<td><code>PageSize</code></td>\n<td>integer</td>\n<td>Number of incidents per page</td>\n</tr>\n<tr>\n<td><code>TotalCount</code></td>\n<td>integer</td>\n<td>Total number of not acknowledged incidents</td>\n</tr>\n<tr>\n<td><code>Data</code></td>\n<td>array</td>\n<td>Array of incident objects for the current page</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"incident-object-fields\">Incident Object Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>integer</td>\n<td>Unique identifier for the incident</td>\n</tr>\n<tr>\n<td><code>Status</code></td>\n<td>string</td>\n<td>Current status of the incident (e.g., \"Open\", \"Closed\")</td>\n</tr>\n<tr>\n<td><code>StartDate</code></td>\n<td>string</td>\n<td>ISO 8601 timestamp when the incident started</td>\n</tr>\n<tr>\n<td><code>EndDate</code></td>\n<td>string</td>\n<td>ISO 8601 timestamp when the incident ended (default value if still open)</td>\n</tr>\n<tr>\n<td><code>Ack</code></td>\n<td>boolean</td>\n<td>Acknowledgment status (false for not acknowledged)</td>\n</tr>\n<tr>\n<td><code>Comment</code></td>\n<td>string/null</td>\n<td>Optional comment associated with the incident</td>\n</tr>\n<tr>\n<td><code>NumberAlerts</code></td>\n<td>integer</td>\n<td>Number of alerts associated with this incident</td>\n</tr>\n<tr>\n<td><code>ClosedBy</code></td>\n<td>string/null</td>\n<td>User who closed the incident (null if still open)</td>\n</tr>\n<tr>\n<td><code>Duration</code></td>\n<td>string</td>\n<td>Duration of the incident in HH:MM:SS format</td>\n</tr>\n<tr>\n<td><code>AgentId</code></td>\n<td>integer</td>\n<td>ID of the monitoring agent that detected the incident</td>\n</tr>\n<tr>\n<td><code>Hostname</code></td>\n<td>string</td>\n<td>Hostname of the affected system</td>\n</tr>\n<tr>\n<td><code>IpAddress</code></td>\n<td>string</td>\n<td>IP address of the affected system</td>\n</tr>\n<tr>\n<td><code>RuleName</code></td>\n<td>string</td>\n<td>Name of the monitoring rule that triggered the incident</td>\n</tr>\n<tr>\n<td><code>AlertLevel</code></td>\n<td>string</td>\n<td>Severity level of the alert (e.g., \"Low\", \"Normal\", \"High\")</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"Page\":1,\n   \"PageSize\":10,\n   \"TotalCount\":2,\n   \"Data\":[\n      {\n         \"Id\":73,\n         \"Status\":\"Closed\",\n         \"StartDate\":\"2026-01-05T15:39:08.3188738Z\",\n         \"EndDate\":\"2026-01-05T15:43:23.3342998Z\",\n         \"Ack\":false,\n         \"Comment\":null,\n         \"NumberAlerts\":3,\n         \"ClosedBy\":null,\n         \"Duration\":\"00:04:15\",\n         \"AgentId\":10,\n         \"Hostname\":\"Alex-VM-Prox-83\",\n         \"IpAddress\":\"192.168.1.104\",\n         \"RuleName\":\"fdgdgfd\",\n         \"AlertLevel\":\"Normal\"\n      },\n      {\n         \"Id\":74,\n         \"Status\":\"Open\",\n         \"StartDate\":\"2026-01-20T16:23:41.8999685Z\",\n         \"EndDate\":\"0001-01-01T00:00:00Z\",\n         \"Ack\":false,\n         \"Comment\":null,\n         \"NumberAlerts\":2,\n         \"ClosedBy\":null,\n         \"Duration\":\"00:01:50\",\n         \"AgentId\":10,\n         \"Hostname\":\"Alex-VM-Prox-83\",\n         \"IpAddress\":\"192.168.1.104\",\n         \"RuleName\":\"proc low\",\n         \"AlertLevel\":\"High\"\n      }\n   ]\n}\n\n</code></pre>\n<hr />\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>The <code>Data</code> array will be empty if there are no not acknowledged incidents.</p>\n</li>\n<li><p><code>EndDate</code> will show a default date value (<code>0001-01-01T00:00:00Z</code>) for incidents that are still open.</p>\n</li>\n<li><p><code>ClosedBy</code> and <code>Comment</code> fields may be null for unacknowledged or uncommented incidents.</p>\n</li>\n<li><p>Use the <code>page</code> and <code>pageSize</code> query parameters to control pagination.</p>\n</li>\n<li><p>The <code>TotalCount</code> field allows clients to calculate the total number of pages.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","monitoring","incidents","notacked"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a2be0142-3238-4a74-9dd9-9761404406d1"}],"id":"f2904c47-dddf-486f-b422-3b6f064d64ac","_postman_id":"f2904c47-dddf-486f-b422-3b6f064d64ac","description":""},{"name":"Compliance","item":[{"name":"Get All Compliance","id":"22536bd5-044d-41b9-9391-6a40c4b4fb92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/compliance/templates","description":"<h1 id=\"get-all-compliance\">Get All Compliance</h1>\n<h2 id=\"description\">Description</h2>\n<p>This endpoint retrieves compliance, showing what percentage of devices or systems meet the defined criteria.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<blockquote>\n<p><code>GET {{baseUrl}}/api/v1/compliance/templates</code> </p>\n</blockquote>\n<h2 id=\"response-format\">Response Format</h2>\n<p>The endpoint returns an array of compliance objects. Each object contains:</p>\n<ul>\n<li><p><strong>Id</strong> (integer): The unique identifier of the compliance template</p>\n</li>\n<li><p><strong>Name</strong> (string): The name of the compliance being measured</p>\n</li>\n<li><p><strong>Percentage</strong> (number): The compliance percentage (0-100)</p>\n</li>\n</ul>\n<h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n   {\n      \"Id\":1,\n      \"Name\":\"win 11 upgrade capable\",\n      \"Percentage\":0\n   },\n   {\n      \"Id\":2,\n      \"Name\":\"ram\",\n      \"Percentage\":71.43\n   },\n   {\n      \"Id\":3,\n      \"Name\":\"free space\",\n      \"Percentage\":14.29\n   }\n]\n\n</code></pre>\n","urlObject":{"path":["api","v1","compliance","templates"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"22536bd5-044d-41b9-9391-6a40c4b4fb92"},{"name":"Get Compliance Detail","id":"bf32b94c-4fe8-4366-bbb3-deba443e442b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/compliance/templates/{{id}}","description":"<h1 id=\"get-compliance-details\">Get Compliance Details</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves compliance information for monitored devices. It returns the overall conformity percentage as well as the total number of compliant and non-compliant devices for the selected compliance template.</p>\n<h2 id=\"endpoint-details\">Endpoint Details</h2>\n<ul>\n<li><p><strong>Method:</strong> <code>GET</code></p>\n</li>\n<li><p><strong>URL:</strong> <code>{{baseUrl}}/api/v1/compliance/templates/{{id}}</code></p>\n</li>\n</ul>\n<h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><p><code>baseUrl</code> - The base URL for the proVconnect API (configured in environment)</p>\n</li>\n<li><p><code>id</code> - The unique identifier of your compliance template</p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns a JSON object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>integer</td>\n<td>The unique identifier of the compliance check</td>\n</tr>\n<tr>\n<td><code>Name</code></td>\n<td>string</td>\n<td>The name of the compliance check (e.g., \"ram\")</td>\n</tr>\n<tr>\n<td><code>Percentage</code></td>\n<td>number</td>\n<td>The compliance percentage across all monitored devices (0-100)</td>\n</tr>\n<tr>\n<td><code>Description</code></td>\n<td>string</td>\n<td>Additional details about the compliance check (may be empty)</td>\n</tr>\n<tr>\n<td><code>NotCompliantDevices</code></td>\n<td>integer</td>\n<td>Total number of devices that do not meet compliance requirements</td>\n</tr>\n<tr>\n<td><code>CompliantDevices</code></td>\n<td>integer</td>\n<td>Total number of devices that meet compliance requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"Id\":2,\n   \"Name\":\"ram\",\n   \"Percentage\":71.43,\n   \"Description\":\"\",\n   \"NotCompliantDevices\":2,\n   \"CompliantDevices\":5\n}\n\n</code></pre>\n<p>In this example:</p>\n<ul>\n<li><p>71.43% of monitored devices meet the \"RAM\" compliance requirements</p>\n</li>\n<li><p>2 devices do not meet the requirements</p>\n</li>\n<li><p>5 devices meet the requirements</p>\n</li>\n<li><p>This endpoint provides a summary view only; use the dedicated compliant and non-compliant devices endpoints to retrieve the device lists for remediation or investigation</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","compliance","templates","{{id}}"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bf32b94c-4fe8-4366-bbb3-deba443e442b"},{"name":"Get Devices Compliant","id":"7bea0d96-76bd-434a-8f86-fcb18edcc36a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/compliance/templates/{{id}}/devices/compliant","description":"<h1 id=\"get-compliance-details---compliant-devices\">Get Compliance Details - Compliant Devices</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves the list of compliant devices for a given compliance template. It returns the overall conformity percentage, pagination information, and the paginated list of devices that meet the compliance requirements.</p>\n<h2 id=\"endpoint-details\">Endpoint Details</h2>\n<ul>\n<li><p><strong>Method:</strong> <code>GET</code></p>\n</li>\n<li><p><strong>URL:</strong> <code>{{baseUrl}}/api/v1/compliance/templates/{{id}}/devices/compliant</code></p>\n</li>\n</ul>\n<h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><p><code>baseUrl</code> - The base URL for the proVconnect API</p>\n</li>\n<li><p><code>id</code> - The unique identifier of your compliance template</p>\n</li>\n</ul>\n<h2 id=\"optional-variables\">Optional Variables</h2>\n<ul>\n<li><p><code>page</code> - The page number to retrieve (default: <code>1</code>)</p>\n</li>\n<li><p><code>pageSize</code> - The number of devices to return per page (maximum: <code>50</code>)</p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns a JSON object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>integer</td>\n<td>The unique identifier of the compliance check</td>\n</tr>\n<tr>\n<td><code>Name</code></td>\n<td>string</td>\n<td>The name of the compliance check (e.g., \"ram\")</td>\n</tr>\n<tr>\n<td><code>Percentage</code></td>\n<td>number</td>\n<td>The compliance percentage across all monitored devices (0-100)</td>\n</tr>\n<tr>\n<td><code>Description</code></td>\n<td>string</td>\n<td>Additional details about the compliance check (may be empty)</td>\n</tr>\n<tr>\n<td><code>TotalCount</code></td>\n<td>integer</td>\n<td>Total number of compliant devices for this compliance template</td>\n</tr>\n<tr>\n<td><code>Page</code></td>\n<td>integer</td>\n<td>The current page number</td>\n</tr>\n<tr>\n<td><code>PageSize</code></td>\n<td>integer</td>\n<td>The number of devices returned per page</td>\n</tr>\n<tr>\n<td><code>CompliantDevices</code></td>\n<td>array</td>\n<td>Paginated list of devices that meet compliance requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"compliantdevices-array\">CompliantDevices Array</h3>\n<p>Each device object in the array contains:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>integer</td>\n<td>Unique device identifier</td>\n</tr>\n<tr>\n<td><code>Hostname</code></td>\n<td>string</td>\n<td>The hostname of the compliant device</td>\n</tr>\n<tr>\n<td><code>Ip</code></td>\n<td>string</td>\n<td>The IP address of the device</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"Id\":2,\n   \"Name\":\"ram\",\n   \"Percentage\":71.43,\n   \"Description\":\"\",\n   \"TotalCount\":5,\n   \"Page\":1,\n   \"PageSize\":2,\n   \"CompliantDevices\":[\n      {\n         \"Id\":3,\n         \"Hostname\":\"desktop-prod-01\",\n         \"Ip\":\"192.168.1.10\"\n      },\n      {\n         \"Id\":7,\n         \"Hostname\":\"desktop-prod-02\",\n         \"Ip\":\"192.168.1.11\"\n      }\n   ]\n}\n\n</code></pre>\n<p>In this example:</p>\n<ul>\n<li><p>71.43% of monitored devices meet the \"RAM\" compliance requirements</p>\n</li>\n<li><p>5 devices are compliant for this compliance template</p>\n</li>\n<li><p>This response returns page 1 with 2 devices</p>\n</li>\n<li><p>The compliant devices can be identified by their ID, hostname, and IP address for reporting or verification</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","compliance","templates","{{id}}","devices","compliant"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"7bea0d96-76bd-434a-8f86-fcb18edcc36a"},{"name":"Get Devices Not Compliant","id":"b09c4150-dd3b-4e64-a525-be6c8b2ff487","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/compliance/templates/{{id}}/devices/notcompliant","description":"<h1 id=\"get-compliance-details---non-compliant-devices\">Get Compliance Details - Non-Compliant Devices</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves the list of non-compliant devices for a given compliance template. It returns the overall conformity percentage, pagination information, and the paginated list of devices that do not meet the compliance requirements.</p>\n<h2 id=\"endpoint-details\">Endpoint Details</h2>\n<ul>\n<li><p><strong>Method:</strong> <code>GET</code></p>\n</li>\n<li><p><strong>URL:</strong> <code>{{baseUrl}}/api/v1/compliance/templates/{{id}}/devices/notcompliant</code></p>\n</li>\n</ul>\n<h2 id=\"required-variables\">Required Variables</h2>\n<ul>\n<li><p><code>baseUrl</code> - The base URL for the proVconnect API (configured in environment)</p>\n</li>\n<li><p><code>id</code> - The unique identifier of your compliance template</p>\n</li>\n</ul>\n<h2 id=\"optional-variables\">Optional Variables</h2>\n<ul>\n<li><p><code>page</code> - The page number to retrieve (default: <code>1</code>)</p>\n</li>\n<li><p><code>pageSize</code> - The number of devices to return per page (maximum: <code>50</code>)</p>\n</li>\n</ul>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns a JSON object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>integer</td>\n<td>The unique identifier of the compliance check</td>\n</tr>\n<tr>\n<td><code>Name</code></td>\n<td>string</td>\n<td>The name of the compliance check (e.g., \"ram\")</td>\n</tr>\n<tr>\n<td><code>Percentage</code></td>\n<td>number</td>\n<td>The compliance percentage across all monitored devices (0-100)</td>\n</tr>\n<tr>\n<td><code>Description</code></td>\n<td>string</td>\n<td>Additional details about the compliance check (may be empty)</td>\n</tr>\n<tr>\n<td><code>TotalCount</code></td>\n<td>integer</td>\n<td>Total number of non-compliant devices for this compliance template</td>\n</tr>\n<tr>\n<td><code>Page</code></td>\n<td>integer</td>\n<td>The current page number</td>\n</tr>\n<tr>\n<td><code>PageSize</code></td>\n<td>integer</td>\n<td>The number of devices returned per page</td>\n</tr>\n<tr>\n<td><code>NotCompliantDevices</code></td>\n<td>array</td>\n<td>Paginated list of devices that do not meet compliance requirements</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"notcompliantdevices-array\">NotCompliantDevices Array</h3>\n<p>Each device object in the array contains:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Id</code></td>\n<td>integer</td>\n<td>Unique device identifier</td>\n</tr>\n<tr>\n<td><code>Hostname</code></td>\n<td>string</td>\n<td>The hostname of the non-compliant device</td>\n</tr>\n<tr>\n<td><code>Ip</code></td>\n<td>string</td>\n<td>The IP address of the device</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-response\">Example Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"Id\":2,\n   \"Name\":\"ram\",\n   \"Percentage\":71.43,\n   \"Description\":\"\",\n   \"TotalCount\":2,\n   \"Page\":1,\n   \"PageSize\":2,\n   \"NotCompliantDevices\":[\n      {\n         \"Id\":10,\n         \"Hostname\":\"Alex-VM-Prox-83\",\n         \"Ip\":\"192.168.1.104\"\n      },\n      {\n         \"Id\":24,\n         \"Hostname\":\"win7-test-alex\",\n         \"Ip\":\"192.168.1.102\"\n      }\n   ]\n}\n\n</code></pre>\n<p>In this example:</p>\n<ul>\n<li><p>71.43% of monitored devices meet the \"RAM\" compliance requirements</p>\n</li>\n<li><p>2 devices are non-compliant for this compliance template</p>\n</li>\n<li><p>This response returns page 1 with 2 non-compliant devices</p>\n</li>\n<li><p>The non-compliant devices can be identified by their ID, hostname, and IP address for remediation or investigation</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","compliance","templates","{{id}}","devices","notcompliant"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b09c4150-dd3b-4e64-a525-be6c8b2ff487"}],"id":"221b893d-4386-4f4e-93a0-65759accb111","_postman_id":"221b893d-4386-4f4e-93a0-65759accb111","description":""},{"name":"Groups & Devices","item":[{"name":"Get All Groups With Custom Fields","id":"0d774434-2057-48d8-8586-9d093950a5af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/groups/list","description":"<h1 id=\"get-all-groups-with-custom-fields\">Get All Groups With Custom Fields</h1>\n<h2 id=\"overview\">Overview</h2>\n<p>This endpoint retrieves a paginated list of all groups in the system along with their associated custom fields. It provides a view of the organizational structure, including parent-child relationships and the number of agents assigned to each group. Pagination allows clients to efficiently browse large datasets.</p>\n<p>Request Parameters</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Default</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>page</td>\n<td>Integer</td>\n<td>The page number to retrieve (1-based).</td>\n<td>No</td>\n<td>1</td>\n</tr>\n<tr>\n<td>pageSize</td>\n<td>Integer</td>\n<td>The number of groups per page.</td>\n<td>No</td>\n<td>20 (max: 50)</td>\n</tr>\n</tbody>\n</table>\n</div><p>Example request:</p>\n<p><code>GET /api/v1/groups/list?page=2&amp;pageSize=10</code></p>\n<h2 id=\"response-structure\">Response Structure</h2>\n<p>The endpoint returns a paginated object with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>TotalCount</td>\n<td>Integer</td>\n<td>Total number of groups available</td>\n</tr>\n<tr>\n<td>Page</td>\n<td>Integer</td>\n<td>Current page number</td>\n</tr>\n<tr>\n<td>PageSize</td>\n<td>Integer</td>\n<td>Number of groups per page</td>\n</tr>\n<tr>\n<td>Data</td>\n<td>Array</td>\n<td>Array of group objects for the current page</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each group object contains:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GroupId</code></td>\n<td>Integer</td>\n<td>Unique identifier for the group</td>\n</tr>\n<tr>\n<td><code>GroupName</code></td>\n<td>String</td>\n<td>Display name of the group</td>\n</tr>\n<tr>\n<td><code>CustomFields</code></td>\n<td>Array</td>\n<td>Collection of custom field objects associated with the group</td>\n</tr>\n<tr>\n<td><code>ParentId</code></td>\n<td>Integer/Null</td>\n<td>ID of the parent group. <code>null</code> indicates a root-level group</td>\n</tr>\n<tr>\n<td><code>AgentCount</code></td>\n<td>Integer</td>\n<td>Total number of agents assigned to this group</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"custom-fields-structure\">Custom Fields Structure</h3>\n<p>Each item in the <code>CustomFields</code> array contains:</p>\n<ul>\n<li><p><code>FieldName</code>: The name/key of the custom field</p>\n</li>\n<li><p><code>Value</code>: The value assigned to this field (can be <code>null</code> if not set)</p>\n</li>\n</ul>\n<h2 id=\"hierarchical-structure\">Hierarchical Structure</h2>\n<p>Groups are organized in a parent-child hierarchy using the <code>ParentId</code> field:</p>\n<ul>\n<li><p><strong>Root groups</strong> have <code>ParentId: null</code></p>\n</li>\n<li><p><strong>Child groups</strong> reference their parent via <code>ParentId</code></p>\n</li>\n<li><p>Multiple levels of nesting are supported</p>\n</li>\n</ul>\n<h3 id=\"example-hierarchy\">Example Hierarchy</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>MyCompany (ID: 2, ParentId: null)\n├── Europe (ID: 3, ParentId: 2)\n│   ├── France (ID: 5, ParentId: 3)\n│   │   └── Rennes 1 (ID: 7, ParentId: 5)\n│   │       ├── Caisses (ID: 9, ParentId: 7)\n│   │       ├── Telephones (ID: 10, ParentId: 7)\n│   │       └── Tablettes (ID: 11, ParentId: 7)\n│   └── Spain (ID: 6, ParentId: 3)\n└── US (ID: 4, ParentId: 2)\n\n</code></pre><h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"TotalCount\": 42,\n  \"Page\": 2,\n  \"PageSize\": 10,\n  \"Data\": [\n    {\n      \"GroupId\": 5,\n      \"GroupName\": \"France\",\n      \"CustomFields\": [\n        { \"FieldName\": \"Siret\", \"Value\": \"123456789\" },\n        { \"FieldName\": \"MailSupport\", \"Value\": null }\n      ],\n      \"ParentId\": 3,\n      \"AgentCount\": 12\n    },\n    // ... up to 10 group objects\n  ]\n}\n\n</code></pre>\n<h2 id=\"use-cases\">Use Cases</h2>\n<ol>\n<li><p><strong>Organization Visualization</strong>: Build a tree view or hierarchical display of the entire organizational structure</p>\n</li>\n<li><p><strong>Group Management</strong>: Retrieve all groups for administrative purposes, including editing or reorganizing</p>\n</li>\n<li><p><strong>Agent Distribution Analysis</strong>: Analyze how agents are distributed across different groups using the <code>AgentCount</code> field</p>\n</li>\n<li><p><strong>Custom Field Reporting</strong>: Extract and report on custom field values across all groups (e.g., finding all groups with a specific Siret number)</p>\n</li>\n<li><p><strong>Hierarchy Navigation</strong>: Implement breadcrumb navigation or parent-child relationship displays in the UI</p>\n</li>\n<li><p><strong>Bulk Operations</strong>: Prepare data for bulk updates or migrations across multiple groups</p>\n</li>\n<li><p><strong>Compliance Tracking</strong>: Monitor which groups have required custom fields populated (e.g., Mail support, Siret)</p>\n</li>\n</ol>\n<h2 id=\"notes\">Notes</h2>\n<ul>\n<li><p>The <code>AgentCount</code> represents the number of agents directly assigned to that specific group</p>\n</li>\n<li><p>Custom field values can be <code>null</code> if they haven't been set for a particular group</p>\n</li>\n<li><p>Groups with <code>AgentCount: 0</code> may still be important for organizational structure even without direct agent assignments</p>\n</li>\n<li><p>Custom fields are consistent across all groups but may have different values or be unpopulated (<code>null</code>) for different groups</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","groups","list"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0d774434-2057-48d8-8586-9d093950a5af"},{"name":"Get Agents By Group","id":"dceacd21-8254-41b9-b874-16888b58767f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/devices/group/{{id}}","description":"<h2 id=\"get-agents-by-group\">Get Agents By Group</h2>\n<h3 id=\"description\">Description</h3>\n<p>Retrieves a paginated list of agents (devices) that belong to a specific group. This endpoint returns comprehensive information about each agent, including hardware specifications, disk/partition details, and security configuration status.</p>\n<h3 id=\"http-request\">HTTP Request</h3>\n<blockquote>\n<p>GET /api/v1/devices/group/{groupId}?page={page}&amp;pageSize={pageSize} </p>\n</blockquote>\n<ul>\n<li><p><strong>groupId</strong> (integer, required): The unique identifier of the group.</p>\n</li>\n<li><p><strong>page</strong> (integer, optional): The page number to retrieve (default: 1).</p>\n</li>\n<li><p><strong>pageSize</strong> (integer, optional): The number of agents per page (default: 50, max: 100).</p>\n</li>\n</ul>\n<p><strong>Example:</strong><br /><code>GET /api/v1/devices/group/11?page=2&amp;pageSize=25</code></p>\n<hr />\n<h3 id=\"response-structure\">Response Structure</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"TotalCount\":6,\n   \"Page\":1,\n   \"PageSize\":2,\n   \"Data\":{\n      \"GroupId\":5,\n      \"GroupName\":\"Group A\",\n      \"Agents\":[\n         {\n            \"Id\":1,\n            \"AgentIdentifier\":\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n            \"Hostname\":\"device-01\",\n            \"Ip\":\"10.0.0.1\",\n            \"LastInventory\":\"2026-03-09T17:06:23.1286859Z\",\n            \"OS\":\"Windows 11 Pro\",\n            \"Memory\":17179869184,\n            \"Disks\":[\n               {\n                  \"Name\":\"\\\\.\\\\PHYSICALDRIVE0\",\n                  \"Size\":1000202273280,\n                  \"Smart\":\"OK\"\n               }\n            ],\n            \"Partitions\":[\n               {\n                  \"Name\":\"C:\",\n                  \"FileSystem\":\"NTFS\",\n                  \"Size\":999261466624,\n                  \"FreeSpace\":209690431488,\n                  \"Encrypted\":\"Off\",\n                  \"VolumeName\":\"\"\n               }\n            ],\n            \"Security\":{\n               \"Firewall\":\"Unknown\",\n               \"AutoUpdate\":\"Enabled\",\n               \"Antivirus\":\"Unknown\",\n               \"Antispyware\":\"Enabled\",\n               \"InternetSettings\":\"Unknown\",\n               \"UACControl\":\"Enabled\",\n               \"WSCService\":\"Unknown\"\n            }\n         },\n         {\n            \"Id\":2,\n            \"AgentIdentifier\":\"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy\",\n            \"Hostname\":\"device-02\",\n            \"Ip\":\"10.0.0.2\",\n            \"LastInventory\":\"2026-03-09T09:25:44.752336Z\",\n            \"OS\":\"Windows 11 Pro\",\n            \"Memory\":4294967296,\n            \"Disks\":[\n               {\n                  \"Name\":\"\\\\.\\\\PHYSICALDRIVE0\",\n                  \"Size\":53686402560,\n                  \"Smart\":\"OK\"\n               }\n            ],\n            \"Partitions\":[\n               {\n                  \"Name\":\"E:\",\n                  \"FileSystem\":\"NTFS\",\n                  \"Size\":156233728,\n                  \"FreeSpace\":129691648,\n                  \"Encrypted\":\"Off\",\n                  \"VolumeName\":\"Storage\"\n               },\n               {\n                  \"Name\":\"C:\",\n                  \"FileSystem\":\"NTFS\",\n                  \"Size\":52771680256,\n                  \"FreeSpace\":12676988928,\n                  \"Encrypted\":\"Off\",\n                  \"VolumeName\":\"\"\n               }\n            ],\n            \"Security\":{\n               \"Firewall\":\"Enabled\",\n               \"AutoUpdate\":\"Enabled\",\n               \"Antivirus\":\"Enabled\",\n               \"Antispyware\":\"Enabled\",\n               \"InternetSettings\":\"Enabled\",\n               \"UACControl\":\"Enabled\",\n               \"WSCService\":\"Enabled\"\n            }\n         }\n      ]\n   }\n}\n\n</code></pre>\n<h4 id=\"top-level-fields\">Top-level fields</h4>\n<ul>\n<li><p><strong>TotalCount</strong>: Total number of agents in the group.</p>\n</li>\n<li><p><strong>Page</strong>: Current page number.</p>\n</li>\n<li><p><strong>PageSize</strong>: Number of agents per page.</p>\n</li>\n<li><p><strong>Data</strong>: Object containing group and agents information.</p>\n</li>\n</ul>\n<h4 id=\"data-object\">Data object</h4>\n<ul>\n<li><p><strong>GroupId</strong>: The unique identifier of the group.</p>\n</li>\n<li><p><strong>GroupName</strong>: The display name of the group.</p>\n</li>\n<li><p><strong>Agents</strong>: Array of agent/device objects for this page.</p>\n</li>\n</ul>\n<h4 id=\"agent-object\">Agent object</h4>\n<ul>\n<li><p><strong>Id</strong>: Unique agent identifier.</p>\n</li>\n<li><p><strong>AgentIdentifier</strong>: UUID for the agent.</p>\n</li>\n<li><p><strong>Hostname</strong>: Computer hostname (anonymized).</p>\n</li>\n<li><p><strong>Ip</strong>: IP address of the device (anonymized).</p>\n</li>\n<li><p><strong>LastInventory</strong>: ISO 8601 timestamp of last inventory update.</p>\n</li>\n<li><p><strong>OS</strong>: Operating system name and edition.</p>\n</li>\n<li><p><strong>Memory</strong>: Total RAM installed, in bytes (integer).</p>\n</li>\n<li><p><strong>Disks</strong>: Array of physical disk objects.</p>\n</li>\n<li><p><strong>Partitions</strong>: Array of logical partition/volume objects.</p>\n</li>\n<li><p><strong>Security</strong>: Security configuration object.</p>\n</li>\n</ul>\n<h5 id=\"disks-array\">Disks array</h5>\n<ul>\n<li><p><strong>Name</strong>: Physical disk identifier.</p>\n</li>\n<li><p><strong>Size</strong>: Total disk capacity, in bytes (integer).</p>\n</li>\n<li><p><strong>Smart</strong>: S.M.A.R.T. health status (e.g., \"OK\").</p>\n</li>\n</ul>\n<h5 id=\"partitions-array\">Partitions array</h5>\n<ul>\n<li><p><strong>Name</strong>: Drive letter or mount point.</p>\n</li>\n<li><p><strong>FileSystem</strong>: File system type (e.g., \"NTFS\").</p>\n</li>\n<li><p><strong>Size</strong>: Total partition size, in bytes (integer).</p>\n</li>\n<li><p><strong>FreeSpace</strong>: Available free space, in bytes (integer).</p>\n</li>\n<li><p><strong>Encrypted</strong>: Encryption status as a string (\"Off\", \"On\", \"Unknown\", \"None\".).</p>\n</li>\n<li><p><strong>VolumeName</strong>: Volume label.</p>\n</li>\n</ul>\n<h5 id=\"security-object\">Security object</h5>\n<ul>\n<li><p><strong>Firewall</strong>: Firewall status (\"Enabled\"/\"Disabled\"/\"Unknown\").</p>\n</li>\n<li><p><strong>AutoUpdate</strong>: Automatic updates status.</p>\n</li>\n<li><p><strong>Antivirus</strong>: Antivirus protection status.</p>\n</li>\n<li><p><strong>Antispyware</strong>: Antispyware protection status.</p>\n</li>\n<li><p><strong>InternetSettings</strong>: Internet security settings status.</p>\n</li>\n<li><p><strong>UACControl</strong>: User Account Control status.</p>\n</li>\n<li><p><strong>WSCService</strong>: Windows Security Center service status.</p>\n</li>\n</ul>\n<hr />\n<p><strong>Notes:</strong></p>\n<ul>\n<li><p>Use the <code>page</code> and <code>pageSize</code> query parameters to control pagination.</p>\n</li>\n<li><p>The <code>TotalCount</code> field allows clients to calculate the total number of pages.</p>\n</li>\n<li><p>The <code>Agents</code> array contains only the agents for the requested page.</p>\n</li>\n<li><p>All sizes and memory values are returned in bytes (integer).</p>\n</li>\n<li><p>The <code>Encrypted</code> field is a string representing the encryption status (e.g., \"Off\", \"On\", \"Unknown\").</p>\n</li>\n</ul>\n","urlObject":{"path":["api","v1","devices","group","{{id}}"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"dceacd21-8254-41b9-b874-16888b58767f"}],"id":"fe7598ab-e25e-4ca0-b93c-3bd60c74a41d","_postman_id":"fe7598ab-e25e-4ca0-b93c-3bd60c74a41d","description":""}]}