WdatpClient
Attributes
TRIGGER_OPERATIONS
module-attribute
TRIGGER_OPERATIONS: Dict[str, Dict[str, Any]] = {'WebHooks_CreateWebHook': {'operation_id': 'WebHooks_CreateWebHook', 'path': '/{connectionId}/subscriptions', 'method': 'post', 'required_parameters': ['request'], 'callback_payload_type': 'WebHookSubscriptionTableEntity'}, 'OnNewRemediationActivity': {'operation_id': 'OnNewRemediationActivity', 'path': '/{connectionId}/trigger/api/remediationtasks', 'method': 'get', 'required_parameters': [], 'callback_payload_type': 'OnNewRemediationActivityResponse'}}
Classes
AdvancedHuntingInput
dataclass
AdvancedHuntingResponse
dataclass
CreateAlertByReferenceInput
dataclass
CreateAlertByReferenceInput(machine_id: Optional[str] = None, report_id: Optional[str] = None, event_time: Optional[str] = None, severity: Optional[str] = None, category: Optional[str] = None, title: Optional[str] = None, description: Optional[str] = None, recommended_action: Optional[str] = None)
Alerts - Create alert
Attributes
machine_id
class-attribute
instance-attribute
ID of the machine on which the event was identified
report_id
class-attribute
instance-attribute
Report Id of the event
event_time
class-attribute
instance-attribute
Time of the event as string, e.g. 2018-08-03T16:45:21.7115183Z
description
class-attribute
instance-attribute
Description of the Alert
Alert
dataclass
Alert(id: Optional[str] = None, incident_id: Optional[int] = None, investigation_id: Optional[int] = None, severity: Optional[str] = None, status: Optional[str] = None, description: Optional[str] = None, alert_creation_time: Optional[str] = None, category: Optional[str] = None, title: Optional[str] = None, threat_family_name: Optional[str] = None, detection_source: Optional[str] = None, classification: Optional[str] = None, determination: Optional[str] = None, assigned_to: Optional[str] = None, resolved_time: Optional[str] = None, last_event_time: Optional[str] = None, first_event_time: Optional[str] = None, machine_id: Optional[str] = None)
Response for Alerts - Create alert
Attributes
incident_id
class-attribute
instance-attribute
The ID of the incident
investigation_id
class-attribute
instance-attribute
The Id of the investigation
alert_creation_time
class-attribute
instance-attribute
alert_creation_time: Optional[str] = field(default=None, metadata={'wire_name': 'alertCreationTime'})
The time at which the alert was created
threat_family_name
class-attribute
instance-attribute
Threat family name
detection_source
class-attribute
instance-attribute
Detection source
classification
class-attribute
instance-attribute
Alert classification
determination
class-attribute
instance-attribute
Alert determination
assigned_to
class-attribute
instance-attribute
Person to whom the alert was assigned
resolved_time
class-attribute
instance-attribute
The time at which the alert was resolved
last_event_time
class-attribute
instance-attribute
The time of the last event related to the alert
first_event_time
class-attribute
instance-attribute
The time of the first event related to the alert
GetAlertsResponse
dataclass
GetAlertsResponse(count: Optional[int] = None, value: Optional[List[Alert]] = None, next_link: Optional[str] = None)
Response for Alerts - Get list of alerts
Attributes
count
class-attribute
instance-attribute
The number of available alerts by this query
PatchAlertInput
dataclass
PatchAlertInput(status: Optional[str] = None, assigned_to: Optional[str] = None, classification: Optional[str] = None, determination: Optional[str] = None)
Alerts - Update alert
Attributes
status
class-attribute
instance-attribute
Status of the alert. One of 'New', 'InProgress' and 'Resolved'
assigned_to
class-attribute
instance-attribute
Person to assign the alert to
classification
class-attribute
instance-attribute
Classification of the alert. One of 'Unknown', 'FalsePositive', 'TruePositive'
InitiateInvestigationInput
dataclass
InitiateInvestigationResponse
dataclass
StartInvestigationInput
dataclass
Investigation
dataclass
Investigation(id: Optional[str] = None, state: Optional[str] = None, status_details: Optional[str] = None, computer_dns_name: Optional[str] = None, machine_id: Optional[str] = None, start_time: Optional[str] = None, end_time: Optional[str] = None)
Response for Actions - Start automated investigation on a machine
Attributes
state
class-attribute
instance-attribute
The state of the investigation (e.g. 'Benign', 'Running', etc..)
status_details
class-attribute
instance-attribute
Details on the status
computer_dns_name
class-attribute
instance-attribute
The computer name
machine_id
class-attribute
instance-attribute
The machine ID
start_time
class-attribute
instance-attribute
The UTC time at which investigation was started
MachineAction
dataclass
MachineAction(id: Optional[str] = None, type_: Optional[str] = None, requestor: Optional[str] = None, requestor_comment: Optional[str] = None, status: Optional[str] = None, machine_id: Optional[str] = None, creation_date_time_utc: Optional[str] = None, last_update_date_time_utc: Optional[str] = None, related_file_info: Optional[Dict[str, Any]] = None, commands: Optional[List[LiveResponseCommandStatus]] = None)
Response for Actions - Get single machine action
Attributes
type_
class-attribute
instance-attribute
The type of the action (e.g. 'Isolate', 'CollectInvestigationPackage', ...)
requestor
class-attribute
instance-attribute
The person that requested the machine action
requestor_comment
class-attribute
instance-attribute
The comment associated to the machine action
status
class-attribute
instance-attribute
The status of the machine action (e.g., 'InProgress')
machine_id
class-attribute
instance-attribute
The ID of the machine on which the action has been performed
creation_date_time_utc
class-attribute
instance-attribute
creation_date_time_utc: Optional[str] = field(default=None, metadata={'wire_name': 'creationDateTimeUtc'})
The UTC time at which the action has been requested
last_update_date_time_utc
class-attribute
instance-attribute
last_update_date_time_utc: Optional[str] = field(default=None, metadata={'wire_name': 'lastUpdateDateTimeUtc'})
The last UTC time at which the action has been updated
CancelSingleMachineActionInput
dataclass
GetLiveResponseDownloadLinkResponse
dataclass
GetMachineActionsResponse
dataclass
GetMachineActionsResponse(count: Optional[int] = None, value: Optional[List[MachineAction]] = None, next_link: Optional[str] = None)
Response for Actions - Get list of machine actions
Attributes
count
class-attribute
instance-attribute
The number of available machine actions by this query
value
class-attribute
instance-attribute
The machine actions returned
FileStats
dataclass
FileStats(sha1: Optional[str] = None, globally_prevalence: Optional[int] = None, global_first_observed: Optional[str] = None, global_last_observed: Optional[str] = None, organization_prevalence: Optional[int] = None, org_first_seen: Optional[str] = None, org_last_seen: Optional[str] = None, top_file_names: Optional[List[str]] = None)
Response for Files - Get the statistics for the given file
Attributes
globally_prevalence
class-attribute
instance-attribute
globally_prevalence: Optional[int] = field(default=None, metadata={'wire_name': 'globallyPrevalence'})
The file global prevalence.
global_first_observed
class-attribute
instance-attribute
global_first_observed: Optional[str] = field(default=None, metadata={'wire_name': 'globalFirstObserved'})
The first time the file was observed globally.
global_last_observed
class-attribute
instance-attribute
global_last_observed: Optional[str] = field(default=None, metadata={'wire_name': 'globalLastObserved'})
The Last time the file was observed.
organization_prevalence
class-attribute
instance-attribute
organization_prevalence: Optional[int] = field(default=None, metadata={'wire_name': 'organizationPrevalence'})
The file prevalence across organization
org_first_seen
class-attribute
instance-attribute
The first time the file was observed in the organization.
org_last_seen
class-attribute
instance-attribute
The last time the file was observed in the organization.
DomainStats
dataclass
DomainStats(host: Optional[str] = None, organization_prevalence: Optional[int] = None, org_first_seen: Optional[str] = None, org_last_seen: Optional[str] = None)
Response for Domains - Get the statistics for the given domain name
Attributes
organization_prevalence
class-attribute
instance-attribute
organization_prevalence: Optional[int] = field(default=None, metadata={'wire_name': 'organizationPrevalence'})
The domain prevalence across organization
org_first_seen
class-attribute
instance-attribute
The first time the domain was observed in the organization.
IpStats
dataclass
IpStats(ip_address: Optional[str] = None, organization_prevalence: Optional[int] = None, org_first_seen: Optional[str] = None, org_last_seen: Optional[str] = None)
Response for Ips - Get the statistics for the given ip address
Attributes
ip_address
class-attribute
instance-attribute
The ip address
organization_prevalence
class-attribute
instance-attribute
organization_prevalence: Optional[int] = field(default=None, metadata={'wire_name': 'organizationPrevalence'})
The ip address prevalence across organization
org_first_seen
class-attribute
instance-attribute
The first time the ip address was observed in the organization.
GetInvestigationsResponse
dataclass
GetInvestigationsResponse(count: Optional[int] = None, value: Optional[List[Investigation]] = None, next_link: Optional[str] = None)
Response for Actions - Get list of investigation
Attributes
count
class-attribute
instance-attribute
The number of available investigations by this query
value
class-attribute
instance-attribute
The investigations returned
CollectInvestigationPackageInput
dataclass
GetInvestigationPackageUriResponse
dataclass
IsolateMachineInput
dataclass
Actions - Isolate machine
Attributes
comment
class-attribute
instance-attribute
A comment to associate to the isolation
isolation_type
class-attribute
instance-attribute
Type of the isolation. Allowed values are 'Full' (for full isolation) or 'Selective' (to restrict only limited set of applications from accessing the network)
UnisolateMachineInput
dataclass
RestrictAppExecutionInput
dataclass
UnrestrictAppExecutionInput
dataclass
RunAntivirusScanInput
dataclass
Actions - Run antivirus scan
Attributes
comment
class-attribute
instance-attribute
A comment to associate to the scan request
RunLiveResponseInput
dataclass
RunLiveResponseInput(comment: Optional[str] = None, commands: Optional[List[LiveResponseCommand]] = None)
Actions - Run live response
Attributes
comment
class-attribute
instance-attribute
A comment to associate to the isolation
GetRemediationActivitiesResponse
dataclass
GetRemediationActivitiesResponse(count: Optional[int] = None, value: Optional[List[RemediationActivity]] = None, next_link: Optional[str] = None)
Response for Remediation tasks - Get list of remediation activities (Preview)
Attributes
count
class-attribute
instance-attribute
The number of remediation activities by this query
value
class-attribute
instance-attribute
The remediation activities returned
RemediationActivity
dataclass
RemediationActivity(id: Optional[str] = None, title: Optional[str] = None, created_on: Optional[str] = None, status_last_modified_on: Optional[str] = None, requester_id: Optional[str] = None, requester_email: Optional[str] = None, status: Optional[str] = None, description: Optional[str] = None, related_component: Optional[str] = None, target_devices: Optional[int] = None, rbac_group_names: Optional[List[str]] = None, fixed_devices: Optional[int] = None, requester_notes: Optional[str] = None, due_on: Optional[str] = None, category: Optional[str] = None, productivity_impact_remediation_type: Optional[str] = None, priority: Optional[str] = None, completion_method: Optional[str] = None, completer_id: Optional[str] = None, completer_email: Optional[str] = None, scid: Optional[str] = None, type_: Optional[str] = None, product_id: Optional[str] = None, vendor_id: Optional[str] = None, name_id: Optional[str] = None, recommended_version: Optional[str] = None, recommended_vendor: Optional[str] = None, recommended_program: Optional[str] = None, recommendation_reference: Optional[str] = None)
Response for RemediationActivities - Get single remediation activity (Preview)
Attributes
title
class-attribute
instance-attribute
The title of the remediation activit
created_on
class-attribute
instance-attribute
The time when the remediation activity was created
status_last_modified_on
class-attribute
instance-attribute
status_last_modified_on: Optional[str] = field(default=None, metadata={'wire_name': 'statusLastModifiedOn'})
The time when the status was last modified
requester_id
class-attribute
instance-attribute
The remediation activity creator id
requester_email
class-attribute
instance-attribute
The remediation activity creator email address
status
class-attribute
instance-attribute
the remediation activity status
description
class-attribute
instance-attribute
The description of the remediation activity
related_component
class-attribute
instance-attribute
The remediation activity related component
target_devices
class-attribute
instance-attribute
The number of the remediation activity target machines
rbac_group_names
class-attribute
instance-attribute
rbac_group_names: Optional[List[str]] = field(default=None, metadata={'wire_name': 'rbacGroupNames'})
The rbac group names associated to the remediation activity
fixed_devices
class-attribute
instance-attribute
The number of the remediation activity fixed machines
requester_notes
class-attribute
instance-attribute
The remediation activity creator notes
due_on
class-attribute
instance-attribute
The due time for the remediation activity
category
class-attribute
instance-attribute
the remediation activity category
productivity_impact_remediation_type
class-attribute
instance-attribute
productivity_impact_remediation_type: Optional[str] = field(default=None, metadata={'wire_name': 'productivityImpactRemediationType'})
the remediation Productivity impact type
priority
class-attribute
instance-attribute
The remediation activity priority
completion_method
class-attribute
instance-attribute
The remediation activity completion method
completer_id
class-attribute
instance-attribute
The remediation activity completer object id
completer_email
class-attribute
instance-attribute
The remediation activity completer email address
scid
class-attribute
instance-attribute
The remediation activity security configuration id
type_
class-attribute
instance-attribute
The remediation activity type
product_id
class-attribute
instance-attribute
Product Id
vendor_id
class-attribute
instance-attribute
Vendor id
name_id
class-attribute
instance-attribute
Name id
recommended_version
class-attribute
instance-attribute
recommended_version: Optional[str] = field(default=None, metadata={'wire_name': 'recommendedVersion'})
Recommended version
recommended_vendor
class-attribute
instance-attribute
recommended_vendor: Optional[str] = field(default=None, metadata={'wire_name': 'recommendedVendor'})
Recommended vendor
GetRemediationActivityMachineListResponse
dataclass
GetRemediationActivityMachineListResponse(count: Optional[int] = None, value: Optional[List[Machine]] = None, next_link: Optional[str] = None)
Response for Remediation activities - Get list of related machines (Preview)
Attributes
count
class-attribute
instance-attribute
The number of available machines by this query
value
class-attribute
instance-attribute
The machines returned
GetMachinesResponse
dataclass
GetMachinesResponse(count: Optional[int] = None, value: Optional[List[Machine]] = None, next_link: Optional[str] = None)
Response for Machines - Get list of machines
Attributes
count
class-attribute
instance-attribute
The number of available machines by this query
value
class-attribute
instance-attribute
The machines returned
Machine
dataclass
Machine(id: Optional[str] = None, computer_dns_name: Optional[str] = None, first_seen: Optional[str] = None, last_seen: Optional[str] = None, os_platform: Optional[str] = None, os_version: Optional[str] = None, system_product_name: Optional[str] = None, last_ip_address: Optional[str] = None, last_external_ip_address: Optional[str] = None, agent_version: Optional[str] = None, os_build: Optional[int] = None, health_status: Optional[str] = None, is_aad_joined: Optional[bool] = None, machine_tags: Optional[List[str]] = None, rbac_group_id: Optional[int] = None, rbac_group_name: Optional[str] = None, risk_score: Optional[str] = None, aad_device_id: Optional[str] = None)
Response for Machines - Get single machine
Attributes
computer_dns_name
class-attribute
instance-attribute
The computer name
first_seen
class-attribute
instance-attribute
The time of the first event received by the machine
last_seen
class-attribute
instance-attribute
The time of the last event received by the machine
os_platform
class-attribute
instance-attribute
The OS platform of the machine
os_version
class-attribute
instance-attribute
The OS version of the machine
system_product_name
class-attribute
instance-attribute
system_product_name: Optional[str] = field(default=None, metadata={'wire_name': 'systemProductName'})
systemProductName
last_ip_address
class-attribute
instance-attribute
The last IP address of the machine
last_external_ip_address
class-attribute
instance-attribute
last_external_ip_address: Optional[str] = field(default=None, metadata={'wire_name': 'lastExternalIpAddress'})
The last external IP address of the machine
agent_version
class-attribute
instance-attribute
The agent version
os_build
class-attribute
instance-attribute
The OS build of the machine
health_status
class-attribute
instance-attribute
The health status of the machine
is_aad_joined
class-attribute
instance-attribute
A flag indicating whether the machine is joined to Microsoft Entra ID
machine_tags
class-attribute
instance-attribute
The tags associated to the machine
rbac_group_id
class-attribute
instance-attribute
The ID of the RBAC group to which the machine belongs
rbac_group_name
class-attribute
instance-attribute
The name of the RBAC group to which the machine belongs
risk_score
class-attribute
instance-attribute
A score indicating how much the machine is at risk
MachineTagInput
dataclass
Machines - Tag machine
Attributes
value
class-attribute
instance-attribute
The tag to add or remove
WebHookSubscriptionTableEntity
dataclass
OnNewRemediationActivityResponse
dataclass
OnNewRemediationActivityResponse(count: Optional[int] = None, value: Optional[List[RemediationActivity]] = None, next_link: Optional[str] = None)
Response for Triggers when a new remediation activity is created (Preview)
Attributes
count
class-attribute
instance-attribute
The number of remediation activities by this query
value
class-attribute
instance-attribute
The remediation activities returned
AdvancedHuntingSchemaInput
dataclass
AdvancedHuntingSchemaResponse
dataclass
LiveResponseCommandStatus
dataclass
LiveResponseCommandStatus(index: Optional[int] = None, start_time: Optional[str] = None, end_time: Optional[str] = None, command_status: Optional[str] = None, errors: Optional[List[str]] = None, command: Optional[LiveResponseCommand] = None)
Definition: LiveResponseCommandStatus
Attributes
start_time
class-attribute
instance-attribute
The command execution start time UTC
end_time
class-attribute
instance-attribute
The command execution end time UTC
command_status
class-attribute
instance-attribute
The status of the command execution (e.g., 'Completed')
errors
class-attribute
instance-attribute
List of command execution errors. In case no errors reported this will be an empty list.
LiveResponseCommand
dataclass
WebHookSubscriptionRequest
dataclass
WebHookSubscriptionRequest(client_state: Optional[str] = None, change_type: Optional[str] = None, resource: Optional[str] = None, expiration_date_time: Optional[str] = None, notification_url: Optional[str] = None)
Definition: WebHookSubscriptionRequest
Attributes
client_state
class-attribute
instance-attribute
Gets or sets the client state.
change_type
class-attribute
instance-attribute
Indicates the type of change in the subscribed resource that will raise a notification.
resource
class-attribute
instance-attribute
Specifies the resource that will be monitored for changes.
WebHookNotification
dataclass
Definition: WebHookNotification
WdatpClient
WdatpClient(connection_runtime_url: str, token_provider: Optional[TokenProvider] = None, options: Optional[ConnectorClientOptions] = None)
Bases: ConnectorClientBase
Typed client for wdatp connector.
Initialize a WdatpClient.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
connection_runtime_url
|
str
|
The connection runtime URL from Azure Portal. |
required |
token_provider
|
Optional[TokenProvider]
|
Optional token provider. Defaults to ManagedIdentityTokenProvider. |
None
|
options
|
Optional[ConnectorClientOptions]
|
Optional connector client options. |
None
|
Methods:
advanced_hunting_async
async
Advanced Hunting (Deprecated)
Run a custom query over Microsoft Defender for Endpoint data. This action supports only queries over MDE tables. This action is deprecated and will be retired on February 1, 2027. Migrate to the Microsoft Graph Security API. For migration guidance, see: https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-1.0#powerplatformflow-migrationpowerapps-power-automate-logic-apps
create_alert_by_reference_async
async
Alerts - Create alert
Create Alert based on specific Event
get_alerts_async
async
get_alerts_async(expand: Optional[str] = None, filter: Optional[str] = None, select: Optional[str] = None, orderby: Optional[str] = None, top: Optional[int] = None, skip: Optional[int] = None, count: Optional[bool] = None) -> dict[str, Any] | None
Alerts - Get list of alerts
Retrieve from Windows Defender ATP the most recent alerts
get_single_alert_async
async
Alerts - Get single alert
Retrieve from Windows Defender ATP a specific alert
patch_alert_async
async
Alerts - Update alert
Update a Windows Defender ATP alert
initiate_investigation_async
async
initiate_investigation_async(input: InitiateInvestigationInput, machine_id: str) -> dict[str, Any] | None
Actions - Initiate investigation on a machine (to be deprecated)
Initiate investigation on a machine
start_investigation_async
async
Actions - Start automated investigation on a machine
Start automated investigation on a machine
get_single_machine_action_async
async
Actions - Get single machine action
Retrieve from Windows Defender ATP a specific machine action
cancel_single_machine_action_async
async
cancel_single_machine_action_async(input: CancelSingleMachineActionInput, machine_action_id: str) -> dict[str, Any] | None
Actions - Cancel a single machine action
Cancel a specific machine action
get_live_response_download_link_async
async
get_live_response_download_link_async(machine_action_id: str, command_index: int) -> dict[str, Any] | None
Actions - Get live response command result download URI
Get result download URI for a completed live response command
get_machine_actions_async
async
get_machine_actions_async(filter: Optional[str] = None, select: Optional[str] = None, orderby: Optional[str] = None, top: Optional[int] = None, skip: Optional[int] = None, count: Optional[bool] = None) -> dict[str, Any] | None
Actions - Get list of machine actions
Retrieve from Windows Defender ATP the most recent machine actions
get_file_stats_async
async
Files - Get the statistics for the given file
Retrieve from Windows Defender ATP statistics for the given file to a given file by identifier Sha1, or Sha256
get_domain_stats_async
async
get_domain_stats_async(domain_name: str, look_back_hours: Optional[int] = None) -> dict[str, Any] | None
Domains - Get the statistics for the given domain name
Retrieve from Windows Defender ATP statistics related to a given domain name
get_ip_stats_async
async
Ips - Get the statistics for the given ip address
Retrieve from Windows Defender ATP statistics related to a given ip address - given in ipv4 or ipv6 format.
get_single_investigation_async
async
Actions - Get single investigation
Retrieve from Microsoft Defender ATP a specific investigation
get_investigations_async
async
get_investigations_async(filter: Optional[str] = None, select: Optional[str] = None, orderby: Optional[str] = None, top: Optional[int] = None, skip: Optional[int] = None, count: Optional[bool] = None) -> dict[str, Any] | None
Actions - Get list of investigation
Retrieve from Microsoft Defender ATP the most recent investigations
collect_investigation_package_async
async
collect_investigation_package_async(input: CollectInvestigationPackageInput, machine_id: str) -> dict[str, Any] | None
Actions - Collect investigation package
Collect investigation package from a machine
get_investigation_package_uri_async
async
Actions - Get investigation package download URI
Get a URI that allows downloading of an investigation package
isolate_machine_async
async
Actions - Isolate machine
Isolate a machine from network
unisolate_machine_async
async
Actions - Unisolate machine
Unisolate a machine from network
restrict_app_execution_async
async
restrict_app_execution_async(input: RestrictAppExecutionInput, machine_id: str) -> dict[str, Any] | None
Actions - Restrict app execution
Restrict execution of all applications on the machine except a predefined set
unrestrict_app_execution_async
async
unrestrict_app_execution_async(input: UnrestrictAppExecutionInput, machine_id: str) -> dict[str, Any] | None
Actions - Remove app execution restriction
Enable execution of any application on the machine
run_antivirus_scan_async
async
Actions - Run antivirus scan
Initiate Windows Defender Antivirus scan on a machine
run_live_response_async
async
Actions - Run live response
Run live response api commands for a single machine
get_remediation_activities_async
async
get_remediation_activities_async(filter: Optional[str] = None, select: Optional[str] = None, orderby: Optional[str] = None, top: Optional[int] = None, skip: Optional[int] = None, count: Optional[bool] = None) -> dict[str, Any] | None
Remediation tasks - Get list of remediation activities (Preview)
Retrieve from Windows Defender ATP the remediation activities
get_single_remediation_activity_async
async
RemediationActivities - Get single remediation activity (Preview)
Retrieve from Windows Defender ATP a specific remediation activity
get_remediation_activity_machine_list_async
async
Remediation activities - Get list of related machines (Preview)
Retrieve from Windows Defender ATP the related machines to a specific remediation activity
get_machines_async
async
get_machines_async(filter: Optional[str] = None, select: Optional[str] = None, orderby: Optional[str] = None, top: Optional[int] = None, skip: Optional[int] = None, count: Optional[bool] = None) -> dict[str, Any] | None
Machines - Get list of machines
Retrieve from Windows Defender ATP the most recent machines
get_single_machine_async
async
Machines - Get single machine
Retrieve from Windows Defender ATP a specific machine
machine_tag_async
async
Machines - Tag machine
Add or remove a tag to/from a machine