Skip to content

Alerts

The Alerts service collection provides operations for retrieving, querying, and updating Falcon alerts across all CIDs. Aggregate alert data, retrieve alert entities by ID, and perform bulk updates to alert status and properties using Falcon Query Language filters.

LanguageLast Update
Pythonv1.6.5
PowerShellv2.2.9
Gov0.22.0
TypeScriptv0.6.0
Rustv0.7.1
Rubyv1.4.0

This service collection has code examples posted to the repository.



OperationDescription
GetQueriesAlertsV1
query_alerts_v1
Deprecated: please use version v2 of this endpoint.
deprecated
GetQueriesAlertsV2
query_alerts_v2
Retrieves all Alerts ids that match a given query.
PatchEntitiesAlertsV1
update_alerts_v2
Perform actions on detections identified by detection ID(s) in request.
PatchEntitiesAlertsV2
update_alerts_v2
Deprecated: Please use version v3 of this endpoint.
deprecated
PatchEntitiesAlertsV3
update_alerts_v3
Perform actions on Alerts identified by composite ID(s) in request.
PostAggregatesAlertsV1
get_aggregate_alerts_v1
Deprecated: Please use version v2 of this endpoint.
deprecated
PostAggregatesAlertsV2
get_aggregate_alerts_v2
Retrieves aggregate values for Alerts across all CIDs.
PostCombinedAlertsV1
get_alerts_combined
Retrieves all Alerts that match a particular FQL filter.
PostEntitiesAlertsV1
get_alerts_v1
Deprecated: please use version v2 of this endpoint.
deprecated
PostEntitiesAlertsV2
get_alerts_v2
Retrieves all Alerts given their composite ids.

Deprecated: please use version v2 of this endpoint.

Method GET
Route /alerts/queries/alerts/v1
Scope Alerts: READ
PEP 8 query_alerts_v1
offset query · integer
The first detection to return, where 0 is the latest detection. Use with the offset parameter to manage pagination of results.
limit query · integer
The maximum number of detections to return in this response (default: 100; max: 10000). Use this parameter together with the offset parameter to manage pagination of the results.
sort query · string
Sort alerts using the provided FQL filter.
filter query · string
Filter alerts using a query in Falcon Query Language (FQL) An asterisk wildcard * includes all results.
q query · string
Search all alert metadata for the provided string
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.query_alerts_v1(filter="string",
limit=integer,
offset=integer,
q="string",
sort="string")
print(response)
[
"string"
]


Retrieves all Alerts ids that match a given query.

Method GET
Route /alerts/queries/alerts/v2
Scope Alerts: READ
PEP 8 query_alerts_v2
include_hidden query · boolean
allows previously hidden alerts to be retrieved
offset query · integer
The first detection to return, where 0 is the latest detection. Use with the offset parameter to manage pagination of results.
limit query · integer
The maximum number of detections to return in this response (default: 100; max: 10000). Use this parameter together with the offset parameter to manage pagination of the results.
sort query · string
Sort alerts using the provided FQL filter.
filter query · string
Filter alerts using a query in Falcon Query Language (FQL) An asterisk wildcard * includes all results.
q query · string
Search all alert metadata for the provided string
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.query_alerts_v2(filter="string",
include_hidden=boolean,
limit=integer,
offset=integer,
q="string",
sort="string")
print(response)
[
"string"
]


Perform actions on detections identified by detection ID(s) in request.

Method PATCH
Route /alerts/entities/alerts/v1
PEP 8 update_alerts_v2
action_parameters body · list of dictionaries
List of dictionaries containing action specific parameter settings.
add_tag body · string
add a tag to 1 or more alert(s). Overridden by action_parameters.
append_comment body · string
appends new comment to existing comments. Overridden by action_parameters.
assign_to_name body · string
assign 1 or more alert(s) to a user identified by user name. Overridden by action_parameters.
assign_to_user_id body · string
assign 1 or more alert(s) to a user identified by user id (eg: user1@example.com). Overridden by action_parameters.
assign_to_uuid body · string
assign 1 or more alert(s) to a user identified by UUID. Overridden by action_parameters.
ids body · string or list of strings
ID(s) of the alert to update.
new_behavior_processed body · string
adds a newly processed behavior to 1 or more alert(s). Overridden by action_parameters.
remove_tag body · string
remove a tag from 1 or more alert(s). Overridden by action_parameters.
remove_tags_by_prefix body · string
remove tags with given prefix from 1 or more alert(s). Overridden by action_parameters.
show_in_ui body · string
shows 1 or more alert(s) on UI if set to true, hides otherwise. An empty/nil value is also valid. Overridden by action_parameters.
unassign body · string
unassign an previously assigned user from 1 or more alert(s). The value passed to this action is ignored. Overridden by action_parameters.
update_status body · string
update status for 1 or more alert(s). Overridden by action_parameters.
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
action_parameters = [
{
"name": "string",
"value": "string"
}
]
response = falcon.update_alerts_v2(action_parameters=action_parameters,
add_tag="string",
append_comment="string",
assign_to_name="string",
assign_to_user_id="string",
assign_to_uuid="string",
ids=id_list,
new_behavior_processed="string",
remove_tag="string",
remove_tags_by_prefix="string",
show_in_ui="string",
unassign="string",
update_status="string")
print(response)


Deprecated: Please use version v3 of this endpoint.

Method PATCH
Route /alerts/entities/alerts/v2
Scope Alerts: WRITE
PEP 8 update_alerts_v2
body body · dictionary
Full body payload as JSON formatted dictionary.
action_parameters body · array
List of dictionaries containing action specific parameter settings.
ids body · array
ID(s) of the alert to update.
add_tag body · string
add a tag to 1 or more alert(s). Overridden by action_parameters.
append_comment body · string
appends new comment to existing comments. Overridden by action_parameters.
assign_to_name body · string
assign 1 or more alert(s) to a user identified by user name. Overridden by action_parameters.
assign_to_user_id body · string
assign 1 or more alert(s) to a user identified by user id (eg: user1@example.com). Overridden by action_parameters.
assign_to_uuid body · string
assign 1 or more alert(s) to a user identified by UUID. Overridden by action_parameters.
new_behavior_processed body · string
adds a newly processed behavior to 1 or more alert(s). Overridden by action_parameters.
remove_tag body · string
remove a tag from 1 or more alert(s). Overridden by action_parameters.
remove_tags_by_prefix body · string
remove tags with given prefix from 1 or more alert(s). Overridden by action_parameters.
show_in_ui body · string
shows 1 or more alert(s) on UI if set to true, hides otherwise. An empty/nil value is also valid. Overridden by action_parameters.
unassign body · string
unassign an previously assigned user from 1 or more alert(s). The value passed to this action is ignored. Overridden by action_parameters.
update_status body · string
update status for 1 or more alert(s). Overridden by action_parameters.
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
action_parameters = [
{
"name": "string",
"value": "string"
}
]
response = falcon.update_alerts_v2(action_parameters=action_parameters,
add_tag="string",
append_comment="string",
assign_to_name="string",
assign_to_user_id="string",
assign_to_uuid="string",
ids=id_list,
new_behavior_processed="string",
remove_tag="string",
remove_tags_by_prefix="string",
show_in_ui="string",
unassign="string",
update_status="string")
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Perform actions on Alerts identified by composite ID(s) in request.

Method PATCH
Route /alerts/entities/alerts/v3
Scope Alerts: WRITE
PEP 8 update_alerts_v3
body body · dictionary
Full body payload as JSON formatted dictionary.
action_parameters body · array
List of dictionaries containing action specific parameter settings.
composite_ids body · array
CompositeID(s) of the alert to update.
include_hidden query · boolean
allows previously hidden alerts to be retrieved
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
add_tag body · string
add a tag to 1 or more alert(s). Overridden by action_parameters.
append_comment body · string
Appends new comment to existing comments. Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. Overridden by action_parameters.
assign_to_name body · string
assign 1 or more alert(s) to a user identified by user name. Overridden by action_parameters.
assign_to_user_id body · string
assign 1 or more alert(s) to a user identified by user id (eg: user1@example.com). Overridden by action_parameters.
assign_to_uuid body · string
assign 1 or more alert(s) to a user identified by UUID. Example: ‘00000000-0000-0000-0000-000000000000’ Overridden by action_parameters.
new_behavior_processed body · string
adds a newly processed behavior to 1 or more alert(s). Overridden by action_parameters.
remove_tag body · string
remove a tag from 1 or more alert(s). Overridden by action_parameters.
remove_tags_by_prefix body · string
remove tags with given prefix from 1 or more alert(s). Overridden by action_parameters.
show_in_ui body · string
shows 1 or more alert(s) on UI if set to true, hides otherwise. An empty/nil value is also valid. Overridden by action_parameters.
unassign body · string
unassign an previously assigned user from 1 or more alert(s). Unassign Alert clears out the assigned user UUID, user ID, and username. The value passed to this action is ignored. Overridden by action_parameters.
update_status body · string
update status for 1 or more alert(s). Allowed values:
Available values (2)
in_progressreopened
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
action_parameters = [
{
"name": "string",
"value": "string"
}
]
response = falcon.update_alerts_v3(action_parameters=action_parameters,
add_tag="string",
append_comment="string",
assign_to_name="string",
assign_to_user_id="string",
assign_to_uuid="string",
composite_ids=id_list,
include_hidden=boolean,
new_behavior_processed="string",
remove_tag="string",
remove_tags_by_prefix="string",
show_in_ui="string",
unassign="string",
update_status="string")
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Deprecated: Please use version v2 of this endpoint.

Method POST
Route /alerts/aggregates/alerts/v1
Scope Alerts: READ
PEP 8 get_aggregate_alerts_v1
body body · dictionary
Full body payload as JSON formatted dictionary.
date_ranges body · array
DateRanges applies to date_range aggregations.
exclude body · string
Exclude Post-filtering on queried fields
field body · string
Field applies for example to date_histogram and range aggregations.
filter body · string
FQL query specifying the filter parameters.
from body · integer
used in bucket sort aggregations as an offset
include body · string
Include Post-filtering on queried fields
interval body · string
Interval applies for example to date_histogram aggregations (uses calendar_interval). Possible values:
Available values (6)
yearmonthweek
dayhourminute
max_doc_count body · integer
only return terms:
Available values (9)
thatmatchless
thanaconfigured
numberofhits
min_doc_count body · integer
only return terms:
Available values (9)
thatmatchmore
thanaconfigured
numberofhits
missing body · string
Missing is a value for missing term field. The behavior that query should return if the document does not have the field in the query
name body · string
Name of the aggregate query
q body · string
represents full text query
ranges body · array
Ranges applies to range aggregations.
size body · integer
how many term buckets should be returned.
sort body · string
Sort spec, ex: ‘pattern_id|desc’.
Available values (2)
_count
sort by document count
_term
sort by the string value alphabetically
sub_aggregates body · array
sub aggregate alert query.
time_zone body · string
TimeZone timezone to specify when bucketing results.
type body · string
Datastore supported value:
Available values (3)
specifictoendpoint
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
date_ranges = [
{
"from": "string",
"to": "string"
}
]
ranges = [
{
"From": 0,
"To": 0
}
]
response = falcon.get_aggregate_alerts_v1(date_ranges=date_ranges,
exclude="string",
field="string",
filter="string",
from=integer,
include="string",
interval="string",
max_doc_count=integer,
min_doc_count=integer,
missing="string",
name="string",
q="string",
ranges=ranges,
size=integer,
sort="string",
sub_aggregates=["string"],
time_zone="string",
type="string")
print(response)
[
{
"buckets": [],
"name": "string",
"sum_other_doc_count": 0
}
]


Retrieves aggregate values for Alerts across all CIDs.

Method POST
Route /alerts/aggregates/alerts/v2
Scope Alerts: READ
PEP 8 get_aggregate_alerts_v2
body body · dictionary
Full body payload as JSON formatted dictionary.
date_ranges body · array
DateRanges applies to date_range aggregations.
exclude body · string
Exclude Post-filtering on queried fields
field body · string
Field applies for example to date_histogram and range aggregations.
filter body · string
FQL query specifying the filter parameters.
from body · integer
used in bucket sort aggregations as an offset
include body · string
Include Post-filtering on queried fields
interval body · string
Interval applies for example to date_histogram aggregations (uses calendar_interval). Possible values:
Available values (6)
yearmonthweek
dayhourminute
max_doc_count body · integer
only return terms:
Available values (9)
thatmatchless
thanaconfigured
numberofhits
min_doc_count body · integer
only return terms:
Available values (9)
thatmatchmore
thanaconfigured
numberofhits
missing body · string
Missing is a value for missing term field. The behavior that query should return if the document does not have the field in the query
name body · string
Name of the aggregate query
q body · string
represents full text query
ranges body · array
Ranges applies to range aggregations.
size body · integer
how many term buckets should be returned.
sort body · string
Sort spec, ex: ‘pattern_id|desc’.
Available values (2)
_count
sort by document count
_term
sort by the string value alphabetically
sub_aggregates body · array
sub aggregate alert query.
time_zone body · string
TimeZone timezone to specify when bucketing results.
type body · string
Datastore supported value:
Available values (3)
specifictoendpoint
include_hidden query · boolean
allows previously hidden alerts to be retrieved
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
date_ranges = [
{
"from": "string",
"to": "string"
}
]
ranges = [
{
"From": 0,
"To": 0
}
]
response = falcon.get_aggregate_alerts_v2(date_ranges=date_ranges,
exclude="string",
field="string",
filter="string",
from=integer,
include="string",
include_hidden=boolean,
interval="string",
max_doc_count=integer,
min_doc_count=integer,
missing="string",
name="string",
q="string",
ranges=ranges,
size=integer,
sort="string",
sub_aggregates=["string"],
time_zone="string",
type="string")
print(response)
[
{
"buckets": [],
"name": "string",
"sum_other_doc_count": 0
}
]


Retrieves all Alerts that match a particular FQL filter.

Method POST
Route /alerts/combined/alerts/v1
Scope Alerts: READ
PEP 8 get_alerts_combined
body body · dictionary
Full body payload as JSON formatted dictionary.
after body · string
The after token is used for pagination of results. The after token is present when more results are available on the next page. To retrieve all Alerts: Use the after token in subsequent requests to fetch the next page. Continue this process until you reach a page without an after token, indicating the last page. This value is highly dependant on the sort parameter, so if you plan to change the sort order, you will have to re-start your search from the first page (without after parameter).
filter body · string
Filter Alerts using a query in Falcon Query Language (FQL). Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard * includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid type id pattern_id aggregate_id platform product Most commonly used filter fields that supports wildcard (*): assigned_to_name tactic_id assigned_to_uuid technique Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity timestamp created_timestamp updated_timestamp All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our documentation inside the Falcon console.
limit body · integer
The maximum number of detections to return in this response. Default: 100, Max: 1000 Use this parameter together with the after parameter to manage pagination of the results.
sort body · string
Sort parameter takes the form of <field|direction>. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields for sorting are: timestamp assigned_to_uuid created_timestamp tactic_id updated_timestamp tactic status technique aggregate_id technique_id assigned_to_name pattern_id assigned_to_uid product By default all the results are sorted by the created_timestamp field in descending order. Important: The pagination is done on live data in the order defined by the sort field parameter, so if you want to avoid inconsistent results where the same record might appear on multiple pages (or none), sort only on the fields that do not change over time. (Examples: created_timestamp, composite_id, etc.)
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_alerts_combined(after="string",
filter="string",
limit=integer,
sort="string")
print(response)
[
{
"agent_id": "string",
"aggregate_id": "string",
"aggregation_rule_id": "string",
"aggregation_rule_name": "string",
"assigned_to_name": "string",
"assigned_to_uid": "string",
"assigned_to_uuid": "string",
"cid": "string",
"cms_rule_id": "string",
"cms_rule_instance_id": "string",
"cms_rule_instance_version": "string",
"composite_id": "string",
"confidence": 0,
"crawled_timestamp": "string",
"created_timestamp": "string",
"data_domains": [],
"description": "string",
"display_name": "string",
"email_sent": false,
"external": false,
"id": "string",
"is_aggregated": false,
"is_falcon_platform_ioa": false,
"linked_behavioral_detections": [],
"linked_case_ids": [],
"mitre_attack": [],
"name": "string",
"objective": "string",
"origin_cid": "string",
"pattern_id": 0,
"platform": "string",
"product": "string",
"resolution": "string",
"scenario": "string",
"seconds_to_resolved": 0,
"seconds_to_triaged": 0,
"severity": 0,
"severity_name": "string",
"show_in_ui": false,
"source_products": [],
"source_vendors": [],
"status": "string",
"tactic": "string",
"tactic_id": "string",
"tags": [],
"technique": "string",
"technique_id": "string",
"timestamp": "string",
"type": "string",
"updated_timestamp": "string"
}
]


Deprecated: please use version v2 of this endpoint.

Method POST
Route /alerts/entities/alerts/v1
Scope Alerts: READ
PEP 8 get_alerts_v1
body body · dictionary
Full body payload as JSON formatted dictionary.
ids body · array
IDs represent the slice of Alert IDs that would be looked up
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_alerts_v1(ids=id_list)
print(response)
[
{
"agent_id": "string",
"aggregate_id": "string",
"aggregation_rule_id": "string",
"aggregation_rule_name": "string",
"assigned_to_name": "string",
"assigned_to_uid": "string",
"assigned_to_uuid": "string",
"cid": "string",
"cms_rule_id": "string",
"cms_rule_instance_id": "string",
"cms_rule_instance_version": "string",
"composite_id": "string",
"confidence": 0,
"crawled_timestamp": "string",
"created_timestamp": "string",
"data_domains": [],
"description": "string",
"display_name": "string",
"email_sent": false,
"external": false,
"id": "string",
"is_aggregated": false,
"is_falcon_platform_ioa": false,
"linked_behavioral_detections": [],
"linked_case_ids": [],
"mitre_attack": [],
"name": "string",
"objective": "string",
"origin_cid": "string",
"pattern_id": 0,
"platform": "string",
"product": "string",
"resolution": "string",
"scenario": "string",
"seconds_to_resolved": 0,
"seconds_to_triaged": 0,
"severity": 0,
"severity_name": "string",
"show_in_ui": false,
"source_products": [],
"source_vendors": [],
"status": "string",
"tactic": "string",
"tactic_id": "string",
"tags": [],
"technique": "string",
"technique_id": "string",
"timestamp": "string",
"type": "string",
"updated_timestamp": "string"
}
]


Retrieves all Alerts given their composite ids.

Method POST
Route /alerts/entities/alerts/v2
Scope Alerts: READ
PEP 8 get_alerts_v2
body body · dictionary
Full body payload as JSON formatted dictionary.
composite_ids body · array
CompositeIDs represent the slice of Alert CompositeIDs that would be looked up
include_hidden query · boolean
allows previously hidden alerts to be retrieved
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import Alerts
falcon = Alerts(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_alerts_v2(composite_ids=id_list, include_hidden=boolean)
print(response)
[
{
"agent_id": "string",
"aggregate_id": "string",
"aggregation_rule_id": "string",
"aggregation_rule_name": "string",
"assigned_to_name": "string",
"assigned_to_uid": "string",
"assigned_to_uuid": "string",
"cid": "string",
"cms_rule_id": "string",
"cms_rule_instance_id": "string",
"cms_rule_instance_version": "string",
"composite_id": "string",
"confidence": 0,
"crawled_timestamp": "string",
"created_timestamp": "string",
"data_domains": [],
"description": "string",
"display_name": "string",
"email_sent": false,
"external": false,
"id": "string",
"is_aggregated": false,
"is_falcon_platform_ioa": false,
"linked_behavioral_detections": [],
"linked_case_ids": [],
"mitre_attack": [],
"name": "string",
"objective": "string",
"origin_cid": "string",
"pattern_id": 0,
"platform": "string",
"product": "string",
"resolution": "string",
"scenario": "string",
"seconds_to_resolved": 0,
"seconds_to_triaged": 0,
"severity": 0,
"severity_name": "string",
"show_in_ui": false,
"source_products": [],
"source_vendors": [],
"status": "string",
"tactic": "string",
"tactic_id": "string",
"tags": [],
"technique": "string",
"technique_id": "string",
"timestamp": "string",
"type": "string",
"updated_timestamp": "string"
}
]