CrowdStrike Falcon Twitter URL

Using the Alerts service collection

Uber class support Service class support Documentation Version Page Updated

Table of Contents

Operation IDDescription
PostAggregateAlertsV1
PEP 8get_aggregate_alerts
Retrieve aggregates for alerts across all CIDs.
PatchEntitiesAlertsV2
PEP 8update_alerts
Perform actions on alerts identified by alert ID(s) in request.
PostEntitiesAlertsV1
PEP 8get_alerts
Retrieve all alerts given their IDs.
GetQueriesAlertsV1
PEP 8query_alerts
Search for alert IDs that match a given query.

Passing credentials

WARNING

client_id and client_secret are input variables that contain your CrowdStrike API credentials. Please note that all examples below do not hard code these values. (These values are ingested as strings.)

CrowdStrike does not recommend hard coding API credentials or customer identifiers within source code.

PostAggregateAlertsV1

Get alert aggregates as specified via json in request body.

PEP8 method name

get_aggregate_alerts

Content-Type

  • Consumes: application/json
  • Produces: application/json

Keyword Arguments

NameServiceUberTypeData typeDescription
body
Service Class Support

Uber Class Support
bodylist of dictionariesFull body payload in JSON format.
date_ranges
Service Class Support

No Uber Class Support
bodylist of dictionariesApplies to date_range aggregations.

Example:
[
  {
    "from": "2016-05-28T09:00:31Z",
    "to": "2016-05-30T09:00:31Z"
  },
  {
    "from": "2016-06-01T09:00:31Z",
    "to": "2016-06-10T09:00:31Z"
  }
]
field
Service Class Support

No Uber Class Support
bodystringThe field on which to compute the aggregation.
filter
Service Class Support

No Uber Class Support
bodystringFQL syntax formatted string to use to filter the results.
interval
Service Class Support

No Uber Class Support
bodystringTime interval for date histogram aggregations. Valid values include:
  • year
  • month
  • week
  • day
  • hour
  • minute
min_doc_count
Service Class Support

No Uber Class Support
bodyintegerOnly return buckets if values are greater than or equal to the value here.
missing
Service Class Support

No Uber Class Support
bodystringMissing is the value to be used when the aggregation field is missing from the object. In other words, the missing parameter defines how documents that are missing a value should be treated. By default they will be ignored, but it is also possible to treat them as if they had a value.
name
Service Class Support

No Uber Class Support
bodystringName of the aggregate query, as chosen by the user. Used to identify the results returned to you.
q
Service Class Support

No Uber Class Support
bodystringFull text search across all metadata fields.
ranges
Service Class Support

No Uber Class Support
bodylist of dictionariesApplies to range aggregations. Ranges values will depend on field.

For example, if max_severity is used, ranges might look like:
[
  {
    "From": 0,
    "To": 70
  },
  {
    "From": 70,
    "To": 100
  }
]
size
Service Class Support

No Uber Class Support
bodyintegerThe max number of term buckets to be returned.
sub_aggregates
Service Class Support

No Uber Class Support
bodylist of dictionariesA nested aggregation, such as:
[
  {
    "name": "max_first_behavior",
    "type": "max",
    "field": "first_behavior"
  }
]

There is a maximum of 3 nested aggregations per request.
sort
Service Class Support

No Uber Class Support
bodystringFQL syntax string to sort bucket results.
  • _count - sort by document count
  • _term - sort by the string value alphabetically
Supports asc and desc using | format.

Example: _count|desc
time_zone
Service Class Support

No Uber Class Support
bodystringTime zone for bucket results.
type
Service Class Support

No Uber Class Support
bodystringType of aggregation. Valid values include:
  • date_histogram - Aggregates counts on a specified time interval. Requires use of “interval” field.
  • date_range - Aggregates counts on custom defined date range buckets. Can include multiple ranges. (Similar to time series, but the bucket sizes are variable). Date formats to follow ISO 8601.
  • terms - Buckets alerts by the value of a specified field. For example, if field used is scenario, then alerts will be bucketed by the various alert scenario names.
  • range - Buckets alerts by specified (numeric) ranges of a specified field. For example, if doing a range aggregation on the max_severity field, the alerts will be counted by the specified ranges of severity.
  • cardinality - Returns the count of distinct values in a specified field.
  • max - Returns the maximum value of a specified field.
  • min - Returns the minimum value of a specified field.
  • avg - Returns the average value of the specified field.
  • sum - Returns the total sum of all values for the specified field.
  • percentiles - Returns the following percentiles for the specified field: 1, 5, 25, 50, 75, 95, 99.

Usage

Service class example (PEP8 syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
falcon = Alerts(client_id=CLIENT_ID,
                client_secret=CLIENT_SECRET
                )

date_range = {
    "from": "string",
    "to": "string"
}
search_range = {
    "From": integer,
    "To": integer
}

response = falcon.get_aggregate_alerts(date_ranges=[date_range],
                                        field="string",
                                        filter="string",
                                        interval="string",
                                        min_doc_count=integer,
                                        missing="string",
                                        name="string",
                                        q="string",
                                        ranges=[search_range],
                                        size=integer,
                                        sort="string",
                                        time_zone="string",
                                        type="string"
                                        )
print(response)

Service class example (Operation ID syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
falcon = Alerts(client_id=CLIENT_ID,
                client_secret=CLIENT_SECRET
                )

date_range = {
    "from": "string",
    "to": "string"
}
search_range = {
    "From": integer,
    "To": integer
}

response = falcon.PostAggregateAlertsV1(date_ranges=[date_range],
                                        field="string",
                                        filter="string",
                                        interval="string",
                                        min_doc_count=integer,
                                        missing="string",
                                        name="string",
                                        q="string",
                                        ranges=[search_range],
                                        size=integer,
                                        sort="string",
                                        time_zone="string",
                                        type="string"
                                        )
print(response)

Uber class example
from falconpy import APIHarness

# Do not hardcode API credentials!
falcon = APIHarness(client_id=CLIENT_ID,
                    client_secret=CLIENT_SECRET
                    )

BODY = [
    {
        "date_ranges": [
        {
            "from": "string",
            "to": "string"
        }
        ],
        "field": "string",
        "filter": "string",
        "interval": "string",
        "min_doc_count": integer,
        "missing": "string",
        "name": "string",
        "q": "string",
        "ranges": [
        {
            "From": integer,
            "To": integer
        }
        ],
        "size": integer,
        "sort": "string",
        "time_zone": "string",
        "type": "string"
    }
]

response = falcon.command("PostAggregateAlertsV1", body=BODY)
print(response)

PatchEntitiesAlertsV2

Perform actions on alerts identified by alert ID(s) in request.

PEP8 method name

update_alerts

Content-Type

  • Consumes: application/json
  • Produces: application/json

Keyword Arguments

NameServiceUberTypeData typeDescription
action_parameters
Service Class Support

Uber Class Support
bodylist of dictionariesList of dictionaries containing action specific parameter settings.
add_tag
Service Class Support

Uber Class Support
body
action_parameters
stringAdd a tag to 1 or more alert(s).
append_comment
Service Class Support

Uber Class Support
body
action_parameters
stringAppends new comment to existing comments.
assign_to_name
Service Class Support

Uber Class Support
body
action_parameters
stringAssign 1 or more alert(s) to a user identified by user name.
assign_to_user_id
Service Class Support

Uber Class Support
body
action_parameters
stringAssign 1 or more alert(s) to a user identified by user id (eg: user1@example.com).
assign_to_uuid
Service Class Support

Uber Class Support
body
action_parameters
stringA user ID (Ex: user@somewhere.com) to assign the alert to.
body
Service Class Support

Uber Class Support
bodydictionaryFull body payload in JSON format.
ids
Service Class Support

Uber Class Support
bodystring or list of stringsID(s) of the alerts to update, which you can find with theGetQueriesAlertsV1 operation.
new_behavior_processed
Service Class Support

Uber Class Support
body
action_parameters
stringAdds a newly processed behavior to 1 or more alert(s).
remove_tag
Service Class Support

Uber Class Support
body
action_parameters
stringRemove a tag from 1 or more alert(s).
remove_tag_by_prefix
Service Class Support

Uber Class Support
body
action_parameters
stringRemove tags with given prefix from 1 or more alert(s).
show_in_ui
Service Class Support

Uber Class Support
body
action_parameters
booleanBoolean determining if this alert is displayed in the Falcon console.
  • true: This alert is displayed in Falcon
  • false: This alert is not displayed in Falcon.
unassign
Service Class Support

Uber Class Support
body
action_parameters
stringUnassign an previously assigned user from 1 or more alert(s). The value passed to this action is ignored.
update_status
Service Class Support

Uber Class Support
body
action_parameters
stringUpdate status of the alert.

Allowed values:
  • ignored
  • new
  • in_progress
  • true_positive
  • false_positive

Usage

Service class example (PEP8 syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
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.update_alerts(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=boolean,
                                unassign="string",
                                update_status="string"
                                )
print(response)

Service class example (Operation ID syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
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.PatchEntitiesAlertsV2(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=boolean,
                                        unassign="string",
                                        update_status="string"
                                        )
print(response)

Uber class example
from falconpy import APIHarness

# Do not hardcode API credentials!
falcon = APIHarness(client_id=CLIENT_ID,
                    client_secret=CLIENT_SECRET
                    )

id_list = ['ID1', 'ID2', 'ID3']

BODY = {
    "ids": id_list,
    "request": {
        "action_parameters": [
            {
                "name": "string",
                "value": "string"
            }
        ]
    }
}

response = falcon.command("PatchEntitiesAlertsV2", body=BODY)
print(response)

PostEntitiesAlertsV1

Retrieve all Alerts given their IDs.

PEP8 method name

get_alerts

Content-Type

  • Consumes: application/json
  • Produces: application/json

Keyword Arguments

NameServiceUberTypeData typeDescription
body
Service Class Support

Uber Class Support
bodydictionaryFull body payload in JSON format.
ids
Service Class Support

Uber Class Support
bodystring or list of stringsID(s) of the alerts to retrieve.

Specify one or more alert IDs (max 1000 per request). Find alert IDs with the GetQueriesAlertsV1 operation.

Usage

In order to use this method, either a body keyword or the ids keyword must be provided.

Service class example (PEP8 syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
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(ids=id_list)
print(response)

Service class example (Operation ID syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
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.PostEntitiesAlertsV1(ids=id_list)
print(response)

Uber class example
from falconpy import APIHarness

# Do not hardcode API credentials!
falcon = APIHarness(client_id=CLIENT_ID,
                    client_secret=CLIENT_SECRET
                    )

id_list = 'ID1,ID2,ID3'  # Can also pass a list here: ['ID1', 'ID2', 'ID3']

response = falcon.command("PostEntitiesAlertsV1", ids=id_list)
print(response)

GetQueriesAlertsV1

Search for alert IDs that match a given query.

PEP8 method name

query_alerts

Content-Type

  • Produces: application/json

Keyword Arguments

NameServiceUberTypeData typeDescription
filter
Service Class Support

Uber Class Support
querystringFilter alerts using a query in Falcon Query Language (FQL) An asterisk wildcard * includes all results.
limit
Service Class Support

Uber Class Support
queryintegerThe maximum number of alerts to return in this response (default: 10000; max: 10000). Use with the offset parameter to manage pagination of results.
offset
Service Class Support

Uber Class Support
queryintegerThe first alert to return, where 0 is the latest alert. Use with the limit parameter to manage pagination of results.
parameters
Service Class Support

Uber Class Support
querydictionaryFull query string parameters payload in JSON format.
q
Service Class Support

Uber Class Support
querystringSearch all alert metadata for the provided string
sort
Service Class Support

Uber Class Support
querystringSort alerts using the provided FQL filter.

Usage

Service class example (PEP8 syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
falcon = Alerts(client_id=CLIENT_ID,
                client_secret=CLIENT_SECRET
                )

response = falcon.query_alerts(offset=integer,
                               limit=integer,
                               sort="string",
                               filter="string",
                               q="string"
                               )
print(response)

Service class example (Operation ID syntax)
from falconpy import Alerts

# Do not hardcode API credentials!
falcon = Alerts(client_id=CLIENT_ID,
                client_secret=CLIENT_SECRET
                )

response = falcon.GetQueriesAlertsV1(offset=integer,
                                     limit=integer,
                                     sort="string",
                                     filter="string",
                                     q="string"
                                     )
print(response)

Uber class example
from falconpy import APIHarness

# Do not hardcode API credentials!
falcon = APIHarness(client_id=CLIENT_ID,
                    client_secret=CLIENT_SECRET
                    )

response = falcon.command("GetQueriesAlertsV1",
                          offset=integer,
                          limit=integer,
                          sort="string",
                          filter="string",
                          q="string"
                          )
print(response)