### Install and start Docker on Wazuh VM Source: https://help.eset.com/eset_connect/en-US/wazuh_server.html Install Docker from the Amazon Linux Extras repository and start the service. Run these commands as the default Wazuh user. ```bash sudo amazon-linux-extras install docker ``` ```bash sudo service docker start ``` -------------------------------- ### Response Example for GET /v1/devices Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_get.html Example JSON response for a successful 200 request to the /v1/devices endpoint. Shows the structure of the devices array, including activeProducts, deployedComponents, hardwareProfiles, and other device fields. ```json { "devices": [ { "activeProducts": [ { "activateDate": { "year": 0, "month": 0, "day": 0 }, "subscriptionUuid": "string", "unitPoolUuid": "string", "validityDate": { "year": 0, "month": 0, "day": 0 }, "id": 0, "name": "string" } ], "deployedComponents": [ { "displayName": "string", "version": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 }, "id": 0, "name": "string" } ], "description": "string", "deviceToken": "string", "deviceType": "DEVICE_TYPE_UNSPECIFIED", "displayName": "string", "enrollmentStatus": "DEVICE_ENROLLMENT_STATUS_UNSPECIFIED", "functionalityProblemCount": 0, "functionalityStatus": "DEVICE_FUNCTIONALITY_STATUS_UNSPECIFIED", "hardwareProfiles": [ { "bios": { "manufacturer": "string", "serialNumber": "string", "uuid": "string" }, "hardDrives": [ { "capacityBytes": "string", "displayName": "string", "driveType": "DRIVE_TYPE_UNSPECIFIED", "hardwareEncryptionSupported": true, "malformedData": "string", "manufacturerName": "string", "serialNumber": "string" } ], "malformedData": "string", "manufacturer": "string", "model": "string", "networkAdapters": [ { "caption": "string", "macAddress": "string", "malformedData": "string" } ], "processors": [ { "architecture": "CPU_ARCHITECTURE_UNSPECIFIED", "caption": "string", "id": "string", "malformedData": "string", "manufacturer": "string" } ] } ] } ] } ``` -------------------------------- ### GET /v1/installers Source: https://help.eset.com/eset_connect/en-US/installer_management.html Lists all installers that have been created via the API. ```APIDOC ## GET /v1/installers ### Description Retrieves a list of all installers created via the API. ### Method GET ### Endpoint /v1/installers ### Response #### Success Response (200) - **installers** (array) - List of installer objects. - **installerUuid** (string) - The unique identifier of the installer. - **displayName** (string) - The display name of the installer. - **operatingSystemFamilyId** (integer) - The operating system family ID. - **preferredLanguageCode** (string) - The preferred language code. - **createdAt** (string) - The creation timestamp. #### Response Example { "installers": [ { "installerUuid": "uuid-1", "displayName": "InstallerName", "operatingSystemFamilyId": 1, "preferredLanguageCode": "en-US", "createdAt": "2023-01-01T00:00:00Z" } ] } ``` -------------------------------- ### GET /installers Source: https://help.eset.com/eset_connect/en-US/installer_management_v1_installers_post.html Retrieves a list of installers. This endpoint returns an array of installer objects with details such as supported OS family, preferred language, and diagnostic data settings. ```APIDOC ## GET /installers ### Description Retrieves a list of installers. This endpoint returns an array of installer objects with details such as supported OS family, preferred language, and diagnostic data settings. ### Method GET ### Endpoint /installers ### Parameters #### Query Parameters - **osFamily** (integer) - Optional - Which operating system family the installer supports. Currently, only 1 - Windows and 3 - MacOS are supported. 0 = Unspecified, 1 = Windows, 2 = Linux, 3 = Mac OS. - **preferredLanguageCode** (string) - Optional - Code of the preferred GUI language in BCP-47 format. A default 'en-us' is used if the preferred language is not available. - **sendAnonymousDiagnosticData** (boolean) - Optional - If true, the installed endpoint product will take part in improvement program by sending anonymous diagnostic data, such as crash reports and crash dumps. - **usable** (boolean) - Optional - If true, the installer can be used. If false, the installer cannot be used for various reasons (for example, expiration). - **uuid** (string) - Optional - Unique identifier of the entity. Must be collision-free - two identifiers created anywhere in the world must not collide within entity parent scope. Unless a member of aggregate, the entity scope is always global. Although most of the times compliant with RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace, do not rely on it being a RFC UUID. Treat it as an opaque identifier. RFC UUID can be recognized by being formatted according to the template xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, as explained on Wikipedia. UUID is used for referencing an entity, even across domains. Example: '123e4567-e89b-12d3-a456-426614174000' ### Response #### Success Response (200) - **type** (string) - Description of the response type. - **osFamily** (integer) - Which operating system family the installer supports. - **preferredLanguageCode** (string) - Code of the preferred GUI language. - **sendAnonymousDiagnosticData** (boolean) - Whether the installer sends anonymous diagnostic data. - **usable** (boolean) - Whether the installer can be used. - **uuid** (string) - Unique identifier of the entity. #### Response Example ```json { "type": "string", "osFamily": 1, "preferredLanguageCode": "en-us", "sendAnonymousDiagnosticData": true, "usable": true, "uuid": "123e4567-e89b-12d3-a456-426614174000" } ``` ### Error Responses #### 202 - Response took too long; request cached. - **response-id** (string) - Unique ID of a pending request. Used to retrieve cached result. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 400 - Bad or missing authorization or validation error. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 401 - Token has expired or is invalid. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 403 - Access denied. Check permissions. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 404 - Requested resource not found. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 429 - Rate limit reached. Try again later. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 500 - Internal server failure. Try again later. - **request-id** (string) - Unique ID of the request. Include in support requests. #### 502 - Internal server failure. Try again later. - **request-id** (string) - Unique ID of the request. Include in support requests. ``` -------------------------------- ### POST /v1/installers request body example Source: https://help.eset.com/eset_connect/en-US/installer_management.html JSON body for creating an installer. It specifies a display name, enables cloud scanner feedback, PUA detection, and anonymous diagnostics, selects the operating system family (1 for Windows) and preferred language en-US. Omitting 'requestedComponentIds' includes all applications with valid subscriptions; the ESET PROTECT Agent is always included, Full Disk Encryption cannot be included, and the download link expires six months after creation. ```json { "installer": { "displayName": "InstallerName", "enableCloudScannerFeedback": true, "enablePuaDetection": true, "operatingSystemFamilyId": 1, "preferredLanguageCode": "en-US", "sendAnonymousDiagnosticData": true } } ``` -------------------------------- ### Response example Source: https://help.eset.com/eset_connect/en-US/device_management_v1_device_groups_groupUuid_devices_get.html Example of a successful response listing devices with displayName, groupUuid, and uuid fields, along with pagination details. ```json { "devices": [ { "displayName": "string", "groupUuid": "string", "uuid": "string" } ], "nextPageToken": "string", "totalSize": 0 } ``` -------------------------------- ### Enable Docker automatic start Source: https://help.eset.com/eset_connect/en-US/wazuh_server.html Set Docker to start automatically on boot using chkconfig. ```bash sudo chkconfig docker on ``` -------------------------------- ### GET /installers Source: https://help.eset.com/eset_connect/en-US/installer_management_v1_installers_get.html Retrieves a list of installers with detailed information about each installer, including display name, download URL, expiration time, and associated components. The response includes pagination details and a total count of items. ```APIDOC ## GET /installers ### Description Retrieves a list of installers with detailed information about each installer, including display name, download URL, expiration time, and associated components. The response includes pagination details and a total count of items. ### Method GET ### Endpoint /installers ### Parameters #### Query Parameters - **pageSize** (integer) - Optional - The number of items to return per page. - **pageToken** (string) - Optional - Token for the next page of results. ### Response #### Success Response (200) - **installers** (array) - List of installer objects. - **displayName** (string) - Human-readable name of the installer. - **downloadUrl** (string) - The installer can be downloaded at this URL. - **enableCloudScannerFeedback** (boolean) - If true, the installed endpoint product will use ESET cloud scanning. - **enablePuaDetection** (boolean) - If true, the detection of potentially unwanted applications will be enabled. - **expireTime** (string, date-time) - Installers are created with automatically determined lifespan. After expire_time, they become unusable. - **installedComponents** (array) - List of installed components. - **displayName** (string) - Human-readable name of the component. - **id** (integer, int64) - Identifier of the governed resource. - **name** (string) - Name of the governed item. - **operatingSystemFamilyId** (integer, int64) - Which operating system family the installer supports. 0 = Unspecified, 1 = Windows, 2 = Linux, 3 = Mac OS. - **preferredLanguageCode** (string) - Code of the preferred GUI language in BCP-47 format. - **sendAnonymousDiagnosticData** (boolean) - If true, the installed endpoint product will send anonymous diagnostic data. - **usable** (boolean) - If true, the installer can be used. - **uuid** (string) - Unique identifier of the entity. - **nextPageToken** (string) - Page token of the next page. Empty or '' for the last page. - **totalSize** (integer, int64) - The total count of items in the list irrespective of pagination. #### Response Example { "installers": [ { "displayName": "ESET Endpoint Security", "downloadUrl": "https://example.com/installer.exe", "enableCloudScannerFeedback": true, "enablePuaDetection": false, "expireTime": "2023-12-31T23:59:59Z", "installedComponents": [ { "displayName": "Real-time protection", "id": 1234567890, "name": "rtp" } ], "operatingSystemFamilyId": 1, "preferredLanguageCode": "en-us", "sendAnonymousDiagnosticData": true, "usable": true, "uuid": "123e4567-e89b-12d3-a456-426614174000" } ], "nextPageToken": "token123", "totalSize": 1 } ### Headers #### Response Headers - **request-id** (string, uuid) - Unique ID of the request. Include in support requests. - **response-id** (string) - Unique ID of the response. ### Error Responses #### 202 Accepted - **description**: Response took too long; request cached. Response can be retrieved later using the response-id header. - **response schema**: [] ``` -------------------------------- ### GET /v1/installers/{installerUuid} Source: https://help.eset.com/eset_connect/en-US/installer_management.html Retrieves information about a specific installer by its UUID. ```APIDOC ## GET /v1/installers/{installerUuid} ### Description Retrieves detailed information about a specific installer using its unique identifier. ### Method GET ### Endpoint /v1/installers/{installerUuid} ### Parameters #### Path Parameters - **installerUuid** (string) - Required - The UUID of the installer to retrieve. ### Response #### Success Response (200) - **installer** (object) - The installer details. - **installerUuid** (string) - The unique identifier of the installer. - **displayName** (string) - The display name of the installer. - **operatingSystemFamilyId** (integer) - The operating system family ID. - **preferredLanguageCode** (string) - The preferred language code. - **createdAt** (string) - The creation timestamp. #### Response Example { "installer": { "installerUuid": "uuid-1", "displayName": "InstallerName", "operatingSystemFamilyId": 1, "preferredLanguageCode": "en-US", "createdAt": "2023-01-01T00:00:00Z" } } ``` -------------------------------- ### GET /v1/installers Source: https://help.eset.com/eset_connect/en-US/installer_management_v1_installers_get.html Retrieves a list of all installers available to the caller. Supports filtering by usability and pagination. ```APIDOC ## [GET] /v1/installers ### Description List all installers available to the caller. ### Method GET ### Endpoint https://eu.installer-management.eset.systems/v1/installers ### Parameters #### Query Parameters - **usable** (boolean) - Optional - If true, only usable installers will be included in the response. If false, only unusable installers will be returned. If empty, all installers will be included. - **pageSize** (integer) - Optional - Limit for pagination purposes. If unspecified or 0, the default value is 50. The maximum value is 1000; values above 1000 will be coerced to 1000. - **pageToken** (string) - Optional - Page token of the current page. If not given or "", the first page is returned. ### Response #### Success Response (200) - **installers** (array) - List of installer objects. - **activatedProducts** (array) - List of activated products. - **poolUuid** (string) - Reference to unit pool. - **poolDisplayName** (string) - Human-readable name of unit pool. - **productId** (integer) - Reference to activated product. - **productDisplayName** (string) - Display name of activated product. - **subscriptionUuid** (string) - Reference to a subscription. - **subscriptionSupportCode** (string) - User-friendly code used in support-related situations. - **createTime** (string) - When the installer was created. - **deviceEnrollment** (object) - Device enrollment settings. - **groupDisplayName** (string) - Display name of the future parent device group. - **securityGroupUuid** (string) - Security group UUID. - **displayName** (string) - Display name of the installer. - **downloadUrl** (string) - URL to download the installer. - **enableCloudScannerFeedback** (boolean) - Indicates if cloud scanner feedback is enabled. - **enablePuaDetection** (boolean) - Indicates if PUA detection is enabled. - **expireTime** (string) - Expiration time of the installer. - **installedComponents** (array) - List of installed components. - **displayName** (string) - Display name of the component. - **id** (integer) - Component ID. - **name** (string) - Component name. - **operatingSystemFamilyId** (integer) - Operating system family ID. - **preferredLanguageCode** (string) - Preferred language code. - **sendAnonymousDiagnosticData** (boolean) - Indicates if anonymous diagnostic data is sent. - **usable** (boolean) - Indicates if the installer is usable. - **uuid** (string) - UUID of the installer. - **nextPageToken** (string) - Token for the next page. - **totalSize** (integer) - Total number of installers. #### Response Example ```json { "installers": [ { "activatedProducts": [ { "poolUuid": "string", "poolDisplayName": "string", "productId": 0, "productDisplayName": "string", "subscriptionUuid": "string", "subscriptionSupportCode": "string" } ], "createTime": "string", "deviceEnrollment": { "groupDisplayName": "string", "securityGroupUuid": "string" }, "displayName": "string", "downloadUrl": "string", "enableCloudScannerFeedback": true, "enablePuaDetection": true, "expireTime": "string", "installedComponents": [ { "displayName": "string", "id": 0, "name": "string" } ], "operatingSystemFamilyId": 0, "preferredLanguageCode": "string", "sendAnonymousDiagnosticData": true, "usable": true, "uuid": "string" } ], "nextPageToken": "string", "totalSize": 0 } ``` ``` -------------------------------- ### Response example for 200 Source: https://help.eset.com/eset_connect/en-US/quarantine_management_v1_quarantined-objects-batchDownload_post.html Example of a successful response, which is a binary string. ```json "string" ``` -------------------------------- ### POST /v1/installers Source: https://help.eset.com/eset_connect/en-US/installer_management.html Creates a new installer. You can specify components and other settings in the request body. The response includes a download link for the generated installer. ```APIDOC ## POST /v1/installers ### Description Creates a new installer. You can generate Linux, Windows, and macOS installers. Specify components in the request body; if empty, all applications with valid subscriptions are included. The response includes a download link with a default expiration of six months. ### Method POST ### Endpoint /v1/installers ### Parameters #### Request Body - **installer** (object) - Required - The installer configuration object. - **displayName** (string) - Optional - The display name of the installer. - **enableCloudScannerFeedback** (boolean) - Optional - Enables cloud scanner feedback. - **enablePuaDetection** (boolean) - Optional - Enables PUA detection. - **operatingSystemFamilyId** (integer) - Optional - The operating system family ID (e.g., 1 for Windows). - **preferredLanguageCode** (string) - Optional - The preferred language code (e.g., "en-US"). - **sendAnonymousDiagnosticData** (boolean) - Optional - Enables sending anonymous diagnostic data. ### Request Example { "installer": { "displayName": "InstallerName", "enableCloudScannerFeedback": true, "enablePuaDetection": true, "operatingSystemFamilyId": 1, "preferredLanguageCode": "en-US", "sendAnonymousDiagnosticData": true } } ### Response #### Success Response (200) - **installer** (object) - The created installer details. - **downloadLink** (string) - The link to download the installer. - **requestedComponentIds** (array) - The list of component IDs included in the installer. - **applications** (array) - The applications and subscriptions included in the installer. #### Response Example { "installer": { "downloadLink": "https://example.com/download/installer", "requestedComponentIds": ["component-id-1", "component-id-2"], "applications": ["ESET PROTECT Agent", "ESET Endpoint Security"] } } ``` -------------------------------- ### POST /installers Source: https://help.eset.com/eset_connect/en-US/installer_management_v1_installers_post.html Creates a new installer or manages installer resources. Returns a request ID header for tracking and support. ```APIDOC ## [POST] /installers ### Description Creates a new installer or manages installer resources. Returns a request ID header for tracking and support. ### Method POST ### Endpoint /installers ### Responses #### Success Response (200) - **request-id** (string, uuid) - Unique ID of the request. Include in support requests. #### Response Example ``` [] ``` #### Error Response (503) - **request-id** (string, uuid) - Unique ID of the request. Include in support requests. - **message** (string) - Environment under maintenance. Try again later. #### Response Example ``` [] ``` #### Error Response (504) - **request-id** (string, uuid) - Unique ID of the request. Include in support requests. - **message** (string) - Action took too long; timeout reached #### Response Example ``` [] ``` ``` -------------------------------- ### Verify Docker Compose installation Source: https://help.eset.com/eset_connect/en-US/wazuh_server.html Check that Docker Compose is installed correctly by running the version command. ```bash sudo docker compose version ``` -------------------------------- ### Response Example Source: https://help.eset.com/eset_connect/en-US/incident_management_v2_incidents_incidentUuid_basic-attributes-update_post.html Example of a successful response, showing the structure of the returned incident object. ```json { "incident": { "assigneeUuid": "string", "createTime": "string", "description": "string", "detectionUuids": [ "string" ], "deviceUuids": [ "string" ], "displayName": "string", "metrics": { "deviceCount": 0, "executableCount": 0, "processCount": 0 }, "resolveReason": "INCIDENT_RESOLVE_REASON_UNSPECIFIED", "responseDuration": "string", "severity": "INCIDENT_SEVERITY_LEVEL_UNSPECIFIED", "status": "INCIDENT_STATUS_UNSPECIFIED", "tags": [ "string" ], "triageDuration": "string", "updateTime": "string", "uuid": "string" } } ``` -------------------------------- ### Successful Response Example Source: https://help.eset.com/eset_connect/en-US/vulnerability_management_v1_device-os-vulnerabilities_get.html Example of a successful 200 response containing a list of OS vulnerabilities with fields for pagination token, vulnerability details, and severity. ```json { "nextPageToken": "string", "vulnerabilities": [ { "osFamilyId": 0, "cveNumber": "string", "firstDetectTime": "string", "lastDetectTime": "string", "patchAvailable": true, "riskScore": 0, "severity": "SEVERITY_LEVEL_UNSPECIFIED", "vulnerabilityId": 0 } ] } ``` -------------------------------- ### Response example for listing role assignments Source: https://help.eset.com/eset_connect/en-US/identity_v2_role-assignments_get.html Example response containing a list of role assignments with subject references, role names, and scopes. ```yaml --- assignments: - subject_reference: 286f5456-a0ac-4e8a-8508-5c2224b47ae6 roles: - role_name: admin scopes: - msp_uuid: af631cc9-3e9f-4fd7-8f29-ed8121b4cf8a - customer_uuid: 30bd93aa-c0ef-4fcf-a73f-ce80610bd161 - role_name: auditor scopes: - msp_uuid: 30bd93aa-c0ef-4fcf-a73f-ce80610bd161 - subject_reference: ae9e45d2-9ee6-43e7-9b68-a650d62eeff1 roles: - role_name: admin scopes: - msp_uuid: af631cc9-3e9f-4fd7-8f29-ed8121b4cf8a - customer_uuid: ff572f63-8965-47da-9d9d-cb994dc9da10 - role_name: auditor scopes: - msp_uuid: af631cc9-3e9f-4fd7-8f29-ed8121b4cf8a - customer_uuid: 30bd93aa-c0ef-4fcf-a73f-ce80610bd161 ``` -------------------------------- ### Response Example for Get an Incident Comment Source: https://help.eset.com/eset_connect/en-US/incident_management_v2_incidents_incidentUuid_comments_commentUuid_get.html Example of a successful 200 response for the Get an Incident Comment endpoint. The response contains a comment object with fields such as authorUuid, createTime, incidentUuid, isFinalComment, text, updateTime, and uuid. ```json { "comment": { "authorUuid": "string", "createTime": "string", "incidentUuid": "string", "isFinalComment": true, "text": "string", "updateTime": "string", "uuid": "string" } } ``` -------------------------------- ### Example .env file contents Source: https://help.eset.com/eset_connect/en-US/wazuh_cloud.html Example configuration values for the .env file, including instance region, API user credentials, and integration settings. ```env EP_INSTANCE=yes EI_INSTANCE=no ECOS_INSTANCE=yes INTERVAL=10 INSTANCE_REGION=eu USERNAME_INTEGRATION=email PASSWORD_INTEGRATION=password ``` -------------------------------- ### Response example for 200 Successful response Source: https://help.eset.com/eset_connect/en-US/user_management_v1_users_userUuid_get.html Example of a successful response body for the GET /v1/users/{userUuid} endpoint. ```json { "user": { "activeProductIds": [ 0 ], "cloudOffice": { "hasMsLicense": true, "tenantReference": "string" }, "department": "string", "displayName": "string", "identities": [ { "createTime": "string", "providerReference": "string", "providerReferenceFormat": "IDENTITY_REFERENCE_FORMAT_UNSPECIFIED", "providerType": "IDENTITY_PROVIDER_TYPE_UNSPECIFIED", "updateTime": "string", "userName": "string" } ], "jobTitle": "string", "officeLocation": "string", "phoneNumbers": [ "string" ], "primaryEmailAddress": "string", "protectionStatus": "PROTECTION_STATUS_UNSPECIFIED", "proxyEmailAddresses": [ "string" ], "userGroupUuids": [ "string" ], "uuid": "string" } } ``` -------------------------------- ### 200 Successful Response Example for Get Device Details Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_deviceUuid_get.html Example of a successful 200 response body for the Get details of a device endpoint. Shows the full device object structure with fields such as activeProducts, deployedComponents, hardwareProfiles, operatingSystem, and etag. ```json { "device": { "activeProducts": [ { "activateDate": { "year": 0, "month": 0, "day": 0 }, "subscriptionUuid": "string", "unitPoolUuid": "string", "validityDate": { "year": 0, "month": 0, "day": 0 }, "id": 0, "name": "string" } ], "deployedComponents": [ { "displayName": "string", "version": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 }, "id": 0, "name": "string" } ], "description": "string", "deviceToken": "string", "deviceType": "DEVICE_TYPE_UNSPECIFIED", "displayName": "string", "enrollmentStatus": "DEVICE_ENROLLMENT_STATUS_UNSPECIFIED", "functionalityProblemCount": 0, "functionalityStatus": "DEVICE_FUNCTIONALITY_STATUS_UNSPECIFIED", "hardwareProfiles": [ { "bios": { "manufacturer": "string", "serialNumber": "string", "uuid": "string" }, "hardDrives": [ { "capacityBytes": "string", "displayName": "string", "driveType": "DRIVE_TYPE_UNSPECIFIED", "hardwareEncryptionSupported": true, "malformedData": "string", "manufacturerName": "string", "serialNumber": "string" } ], "malformedData": "string", "manufacturer": "string", "model": "string", "networkAdapters": [ { "caption": "string", "macAddress": "string", "malformedData": "string" } ], "processors": [ { "architecture": "CPU_ARCHITECTURE_UNSPECIFIED", "caption": "string", "id": "string", "malformedData": "string", "manufacturer": "string" } ], "resettableIdentifier": "string", "salt": "string" } ], "isMaster": true, "isMobile": true, "isMuted": true, "lastSyncTime": "string", "managementDomain": "string", "cloningConfiguration": { "cloneNamingPatterns": [ "string" ], "securityGroupUuid": "string", "securityGroupDisplayName": "string" }, "operatingSystem": { "bitness": 0, "displayName": "string", "editionId": 0, "familyId": 0, "version": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 } }, "originalDisplayName": "string", "parentGroupUuid": "string", "primaryLocalIpAddress": "string", "publicIpAddress": "string", "tags": [ "string" ], "uuid": "string", "etag": "string", "ownerUuid": "string" } } ``` -------------------------------- ### Response example for v1/patching-process-details Source: https://help.eset.com/eset_connect/en-US/patch_management_v1_patching-process-details_get.html Example of a successful response containing patching details for devices. The response includes dependencies, device UUID, display name, application details, and operating system patching information. ```json { "patchingDetails": [ { "dependencies": [ { "actionType": "PATCH_ACTION_TYPE_UNSPECIFIED", "package": { "displayName": "string", "name": "string", "packageManagerType": "PACKAGE_MANAGER_TYPE_UNSPECIFIED", "reference": "string", "versionName": "string" } } ], "deviceUuid": "string", "displayName": "string", "application": { "applicationUuid": "string", "developerDisplayName": "string", "displayName": "string", "patchedVersion": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 }, "status": "APPLICATION_PATCHING_STATUS_UNSPECIFIED", "timePeriod": { "startTime": "string", "endTime": "string" }, "unpatchedVersion": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 } }, "operatingSystem": { "actionType": "PATCH_ACTION_TYPE_UNSPECIFIED", "osFamilyId": 0, "patchedVersion": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 }, "status": "PATCHING_STATUS_UNSPECIFIED", "timePeriod": { "startTime": "string", "endTime": "string" }, "unpatchedVersion": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 } }, "package": { "dependencies": [ null ], "packageReference": "string", "patchedVersion": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 }, "status": "PATCHING_STATUS_UNSPECIFIED", "timePeriod": { "startTime": "string", "endTime": "string" }, "unpatchedVersion": { "id": "string", "major": 0, "minor": 0, "name": "string", "patch": 0 } } } ], "nextPageToken": "string" } ``` -------------------------------- ### Pack and unpack a message in Go Source: https://help.eset.com/eset_connect/en-US/automation_v1_device_tasks_taskUuid_runs_get.html Example 4 from the Any message documentation: shows how to pack and unpack a protobuf message using the Go API. ```go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } ``` -------------------------------- ### Create .env file Source: https://help.eset.com/eset_connect/en-US/wazuh_cloud.html Creates an empty .env file in the integration folder to store configuration variables. ```bash touch /var/ossec/integrations/ESET-Integration-Wazuh/.env ``` -------------------------------- ### 200 Response Example for Get Policy Assignment Source: https://help.eset.com/eset_connect/en-US/policy_management_v2_policy-assignments_assignmentUuid_get.html Example response body for a successful 200 response when retrieving policy assignment details. Shows the structure with policyUuid, rank, target (deviceUuid, deviceGroupUuid, subscriptionUuid), and uuid. ```json { "assignment": { "policyUuid": "string", "rank": 0, "target": { "deviceUuid": "string", "deviceGroupUuid": "string", "subscriptionUuid": "string" }, "uuid": "string" } } ``` -------------------------------- ### Create Policy v2 Request Example Source: https://help.eset.com/eset_connect/en-US/policy_management_v2_policies_post.html Example request for creating a policy. Includes headers and a JSON body with policy details such as displayName, description, features, and flags. ```json { "policy": { "builtIn": true, "description": "string", "displayName": "string", "features": [ { "configuration": { "@type": "string", "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} }, "featureId": 0, "flags": { "additionalProp1": { "applyForcefully": true, "readOnly": true }, "additionalProp2": { "applyForcefully": true, "readOnly": true }, "additionalProp3": { "applyForcefully": true, "readOnly": true } } } ], "uuid": "string" } } ``` -------------------------------- ### Install Docker Compose plugin Source: https://help.eset.com/eset_connect/en-US/wazuh_server.html Download the latest Docker Compose Linux x86_64 binary to the CLI plugins directory. ```bash sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64" -o /usr/local/lib/docker/cli-plugins/docker-compose ``` -------------------------------- ### wmic cpu get manufacturer Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_deviceUuid-rename_post.html Command to retrieve the manufacturer of the CPU. The output is used as an example value for the 'manufacturer' field in the processor descriptor. ```bash wmic cpu get manufacturer ``` -------------------------------- ### wmic cpu get ProcessorId Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_deviceUuid-rename_post.html Command to retrieve the processor ID. The output is used as an example value for the 'id' field in the processor descriptor. ```bash wmic cpu get ProcessorId ``` -------------------------------- ### wmic cpu get Name Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_deviceUuid-rename_post.html Command to retrieve the name of the CPU. The output is used as an example value for the 'caption' field in the processor descriptor. ```bash wmic cpu get Name ``` -------------------------------- ### POST /v1/devices:batchGet Source: https://help.eset.com/eset_connect/en-US/device_management.html Gets a batch of devices. ```APIDOC ## POST /v1/devices:batchGet ### Description Gets a batch of devices. ### Method POST ### Endpoint /v1/devices:batchGet ``` -------------------------------- ### GET /automation/v1/device-tasks/{taskUuid}/runs Source: https://help.eset.com/eset_connect/en-US/automation_v1_device_tasks_taskUuid_runs_get.html Retrieves information about a specific device task run, including its status, start time, and associated task UUID. ```APIDOC ## GET /automation/v1/device-tasks/{taskUuid}/runs ### Description Retrieves details of a device task run, including its status, start time, and task reference. ### Method GET ### Endpoint /automation/v1/device-tasks/{taskUuid}/runs ### Parameters #### Path Parameters - **taskUuid** (string) - Required - The UUID of the device task. ### Response #### Success Response (200) - **startTime** (string, date-time) - Timestamp of run start. - **status** (string) - Possible TaskRun states: TASK_RUN_STATUS_UNSPECIFIED, TASK_RUN_STATUS_QUEUED, TASK_RUN_STATUS_RUNNING, TASK_RUN_STATUS_FINISHED, TASK_RUN_STATUS_FAILED, TASK_RUN_STATUS_SUPPRESSED. - **taskUuid** (string) - Reference to DeviceTask. - **uuid** (string) - Unique identifier for the task run. #### Response Example { "startTime": "2023-01-01T00:00:00Z", "status": "TASK_RUN_STATUS_RUNNING", "taskUuid": "string", "uuid": "string" } ``` -------------------------------- ### Response Example for Create Device Task Source: https://help.eset.com/eset_connect/en-US/automation_v1_device_tasks_post.html Example of a successful response when creating a device task. Shows the structure of the task object with action, targets, triggers, and timestamps. ```json { "task": { "action": { "name": "string", "params": { "@type": "string", "additionalProp1": {}, "additionalProp2": {}, "additionalProp3": {} } }, "assetGroupUuid": "string", "description": "string", "displayName": "string", "source": "DEVICE_TASK_SOURCE_UNSPECIFIED", "targets": { "deviceGroupsUuids": [ "string" ], "devicesUuids": [ "string" ] }, "triggers": [ { "manual": { "createTime": "string", "expireTime": "string" } } ], "uuid": "string", "createTime": "string", "versionId": "string", "updateTime": "string" } } ``` -------------------------------- ### 200 Response Example for Get EDR Rule Exclusion Source: https://help.eset.com/eset_connect/en-US/incident_management_v2_edr-rule-exclusions_exclusionUuid_get.html Example response body for a successful 200 response when retrieving details of an EDR rule exclusion. Shows the structure of the exclusion object with fields such as displayName, enabled, note, ruleUuids, scopes, xmlDefinition, uuid, authorUuid, and editorUuid. ```json { "exclusion": { "displayName": "string", "enabled": true, "note": "string", "ruleUuids": [ "string" ], "scopes": [ { "deviceUuid": "string", "deviceGroupUuid": "string" } ], "xmlDefinition": "string", "uuid": "string", "authorUuid": "string", "editorUuid": "string" } } ``` -------------------------------- ### Request Body Example for v1/devices:batchImport Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices-batchImport_post.html Example JSON request body for importing a batch of devices. Includes device details such as active products, operating system, and parent group UUID. ```json { "devices": [ { "activeProducts": [ { "activateDate": { "year": 0, "month": 0, "day": 0 }, "subscriptionUuid": "string", "unitPoolUuid": "string", "validityDate": { "year": 0, "month": 0, "day": 0 }, "id": 0, "name": "string" } ], "description": "string", "deviceType": "DEVICE_TYPE_UNSPECIFIED", "displayName": "string", "enrollmentStatus": "DEVICE_ENROLLMENT_STATUS_UNSPECIFIED", "functionalityStatus": "DEVICE_FUNCTIONALITY_STATUS_UNSPECIFIED", "isMaster": true, "isMobile": true, "managementDomain": "string", "cloningConfiguration": { "cloneNamingPatterns": [ "string" ], "securityGroupUuid": "string" }, "operatingSystem": { "bitness": 0, "displayName": "string", "editionId": 0, "familyId": 0, "version": { "id": "string", "name": "string" } }, "parentGroupUuid": "string", "primaryLocalIpAddress": "string", "publicIpAddress": "string", "uuid": "string", "ownerUuid": "string" } ], "parentGroupUuid": "string" } ``` -------------------------------- ### wmic nic get MACAddress Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_deviceUuid-rename_post.html Command to retrieve the MAC address of a network adapter. The output is used as an example value for the 'macAddress' field in the network adapter descriptor. ```bash wmic nic get MACAddress ``` -------------------------------- ### wmic nic get Caption Source: https://help.eset.com/eset_connect/en-US/device_management_v1_devices_deviceUuid-rename_post.html Command to retrieve the caption (name) of a network adapter. The output is used as an example value for the 'caption' field in the network adapter descriptor. ```bash wmic nic get Caption ```