Skip to content

Correlation Rules

The Correlation Rules service collection provides operations for managing correlation rules and templates. Create, update, delete, and query correlation rules. Export and import rule versions, publish rule versions, and manage rule templates.

LanguageLast Update
Pythonv1.4.8
PowerShellv2.2.9
Gov0.20.0
TypeScriptv0.6.0
Rustv0.7.0
Rubyv1.2.0
OperationDescription
aggregates_rule_versions_post_v1
aggregate_rule_versions
Get rules aggregates as specified via json in the request body.
combined_rules_get_v1
get_rules_combined
Find all rules matching the query and filter.
combined_rules_get_v2
get_rules_combined_v2
Find all rules matching the query and filter.
entities_latest_rules_get_v1
get_latest_rule_versions
Retrieve latest rule versions by rule IDs.
entities_rule_versions_export_post_v1
export_rule
Export rule versions.
entities_rule_versions_import_post_v1
import_rule
Import rule versions.
entities_rule_versions_publish_patch_v1
publish_rule_version
Publish existing rule version.
entities_rule_versions_delete_v1
delete_rule_versions
Delete versions by IDs.
entities_rules_get_v1
get_rules
Retrieve rules by IDs.
entities_rules_post_v1
create_rule
Create a correlation rule.
entities_rules_delete_v1
delete_rules
Delete rules by IDs.
entities_rules_patch_v1
update_rule
Update a correlation rule.
entities_rules_get_v2
get_rules_v2
Retrieve rule versions by IDs.
queries_rules_get_v1
query_rules
Find all rule IDs matching the query and filter.
queries_rules_get_v2
query_rules_v2
Find all rule version IDs matching the query and filter.
queries_templates_get_v1Mixin0
query_templates
Search rule template IDs matching the filter.
entities_templates_rules_post_v1
create_rule_from_template
Create rule from template.
entities_templates_get_v1Mixin0
get_rule_templates_by_id
Retrieve rule templates by IDs.

Get rules aggregates as specified via json in the request body.

POST /correlation-rules/aggregates/rule-versions/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 aggregate_rule_versions
NameTypeData typeDescription
bodybodydictionaryFull body payload provided as a dictionary.
filterquerystringFQL query specifying the filter parameters.
idsquerystring or list of stringsCorrelation rule IDs.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.aggregate_rule_versions(filter="string", ids=id_list)
print(response)

Find all rules matching the query and filter.

GET /correlation-rules/combined/rules/v1
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 get_rules_combined
NameTypeData typeDescription
filterquerystringFQL query specifying the filter parameters. Available filters: customer_id, user_id, user_uuid, status, name, created_on, last_updated_on. Ranged filters: created_on, last_updated_on.
qquerystringMatch query criteria, which includes all the filter string fields.
sortquerystringRule property to sort on.
offsetqueryintegerStarting index of overall result set from which to return IDs.
limitqueryintegerNumber of IDs to return.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_rules_combined(filter="string",
q="string",
sort="string",
offset=integer,
limit=integer)
print(response)

Find all rules matching the query and filter.

GET /correlation-rules/combined/rules/v2
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 get_rules_combined_v2
NameTypeData typeDescription
filterquerystringFQL query specifying the filter parameters. Available filters: customer_id, user_id, user_uuid, status, name, created_on, last_updated_on. Ranged filters: created_on, last_updated_on.
qquerystringMatch query criteria, which includes all the filter string fields.
sortquerystringRule property to sort on.
offsetqueryintegerStarting index of overall result set from which to return IDs.
limitqueryintegerNumber of IDs to return.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_rules_combined_v2(filter="string",
q="string",
sort="string",
offset=integer,
limit=integer)
print(response)

Retrieve latest rule versions by rule IDs.

GET /correlation-rules/entities/latest-rules/v1
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 get_latest_rule_versions
NameTypeData typeDescription
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
rule_idsquerystring or list of stringsThe rule IDs to retrieve.
from falconpy import CorrelationRules
falcon = CorrelationRules(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_latest_rule_versions(rule_ids=id_list)
print(response)

Export rule versions.

POST /correlation-rules/entities/rule-versions/export/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 export_rule
NameTypeData typeDescription
bodybodydictionaryFull body payload provided as a dictionary.
filterbodystringFilter to use for export.
get_latestbodybooleanFlag indicating if the latest rule version should be exported.
report_formatbodystringFormat to use for rule export.
searchbodydictionaryRule search to perform. Overrides filter and sort keywords.
sortbodystringSort to use for rule export.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.export_rule(filter="string",
get_latest=boolean,
report_format="string",
search={},
sort="string")
print(response)

Import rule versions.

POST /correlation-rules/entities/rule-versions/import/v1
Scope Correlation Rules: WRITE Consumes · Produces multipart/form-data · application/json
PEP 8 import_rule
NameTypeData typeDescription
bodybodydictionaryRule to be imported. Not required if using the rule keyword.
rulebodydictionaryRule to be imported (Service Class only).
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.import_rule(rule={})
print(response)

Publish existing rule version.

PATCH /correlation-rules/entities/rule-versions/publish/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 publish_rule_version
NameTypeData typeDescription
bodybodydictionaryFull body payload provided as a dictionary.
idbodystringCorrelation rule version ID to publish.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.publish_rule_version(id="string")
print(response)

Delete versions by IDs.

DELETE /correlation-rules/entities/rule-versions/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 delete_rule_versions
NameTypeData typeDescription
idsquerystring or list of stringsThe rule version IDs to be deleted.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.delete_rule_versions(ids=id_list)
print(response)

Retrieve rules by IDs.

GET /correlation-rules/entities/rules/v1
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 get_rules
NameTypeData typeDescription
idsquerystring or list of stringsThe rule IDs to be retrieved.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(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_rules(ids=id_list)
print(response)

Create a correlation rule.

POST /correlation-rules/entities/rules/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 create_rule
NameTypeData typeDescription
bodybodydictionaryFull body payload provided as a dictionary.
commentbodystringCorrelation rule comment.
customer_idbodystringCID for the tenant.
descriptionbodystringCorrelation rule description.
namebodystringCorrelation rule name.
notificationsbodylist of dictionariesList of notifications to implement.
operationbodydictionaryOperation to perform.
searchbodydictionarySearch to perform.
severitybodyintegerCorrelation severity.
statusbodystringCorrelation rule status.
tacticbodystringIdentified tactic.
techniquebodystringIdentified technique.
trigger_on_createbodybooleanFlag indicating if the rule triggers on creation.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.create_rule(anomaly={},
comment="string",
customer_id="string",
description="string",
guardrail_notifications=[{"key": "value"}],
mitre_attack=[{"key": "value"}],
name="string",
notifications=[{"key": "value"}],
operation={},
search={},
severity=integer,
status="string",
tactic="string",
technique="string",
template_id="string",
trigger_on_create=boolean)
print(response)

Delete rules by IDs.

DELETE /correlation-rules/entities/rules/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 delete_rules
NameTypeData typeDescription
idsquerystring or list of stringsThe rule IDs to be deleted.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.delete_rules(ids=id_list)
print(response)

Update a correlation rule.

PATCH /correlation-rules/entities/rules/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 update_rule
NameTypeData typeDescription
bodybodydictionaryFull body payload provided as a dictionary.
commentbodystringCorrelation rule comment.
customer_idbodystringCID for the tenant.
descriptionbodystringCorrelation rule description.
idbodystringCorrelation rule ID to update.
namebodystringCorrelation rule name.
notificationsbodylist of dictionariesList of notifications to implement.
operationbodydictionaryOperation to perform.
searchbodydictionarySearch to perform.
severitybodyintegerCorrelation severity.
statusbodystringCorrelation rule status.
tacticbodystringIdentified tactic.
techniquebodystringIdentified technique.
trigger_on_createbodybooleanFlag indicating if the rule triggers on creation.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.update_rule(anomaly={},
comment="string",
customer_id="string",
description="string",
guardrail_notifications=[{"key": "value"}],
id="string",
mitre_attack=[{"key": "value"}],
name="string",
notifications=[{"key": "value"}],
operation={},
search={},
severity=integer,
status="string",
tactic="string",
technique="string",
template_id="string",
trigger_on_create=boolean)
print(response)

Retrieve rule versions by IDs.

GET /correlation-rules/entities/rules/v2
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 get_rules_v2
NameTypeData typeDescription
idsquerystring or list of stringsThe rule IDs to be retrieved.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(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_rules_v2(ids=id_list)
print(response)

Find all rule IDs matching the query and filter.

GET /correlation-rules/queries/rules/v1
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 query_rules
NameTypeData typeDescription
filterquerystringFQL query specifying the filter parameters. Available filters: customer_id, user_id, user_uuid, status, name, created_on, last_updated_on. Ranged filters: created_on, last_updated_on.
qquerystringMatch query criteria, which includes all the filter string fields.
sortquerystringRule property to sort on.
offsetqueryintegerStarting index of overall result set from which to return IDs.
limitqueryintegerNumber of IDs to return.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.query_rules(filter="string",
q="string",
sort="string",
offset=integer,
limit=integer)
print(response)

Find all rule version IDs matching the query and filter.

GET /correlation-rules/queries/rules/v2
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 query_rules_v2
NameTypeData typeDescription
filterquerystringFQL query specifying the filter parameters. Available filters: customer_id, user_id, user_uuid, status, name, created_on, last_updated_on. Ranged filters: created_on, last_updated_on.
qquerystringMatch query criteria, which includes all the filter string fields.
sortquerystringRule property to sort on.
offsetqueryintegerStarting index of overall result set from which to return IDs.
limitqueryintegerNumber of IDs to return.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.query_rules_v2(filter="string",
q="string",
sort="string",
offset=integer,
limit=integer)
print(response)

Search rule template IDs matching the filter.

GET /correlation-rules/queries/templates/v1
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 query_templates
NameTypeData typeDescription
filterquerystringFQL query specifying the filter parameters. Available filters: name, description, vendor, outcome, mitre_attack.tactic_id, mitre_attack.technique_id, type. Ranged filters: created_on, last_updated_on.
sortquerystringRule property to sort on.
offsetqueryintegerStarting index of overall result set from which to return IDs.
limitqueryintegerNumber of IDs to return.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_rule_template_ids(filter="string",
sort="string",
offset=integer,
limit=integer)
print(response)

Create rule from template.

POST /correlation-rules/entities/templates/rules/v1
Scope Correlation Rules: WRITE Consumes · Produces application/json
PEP 8 create_rule_from_template
NameTypeData typeDescription
bodybodydictionaryFull body payload provided as a dictionary.
customer_idbodystringCID for the tenant.
templatesbodylist of dictionariesList of template rule definitions to create.
from falconpy import CorrelationRules
falcon = CorrelationRules(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.create_rule_from_template(customer_id="string",
templates=[{"key": "value"}])
print(response)

Retrieve rule templates by IDs.

GET /correlation-rules/entities/templates/v1
Scope Correlation Rules: READ Consumes · Produces application/json
PEP 8 get_rule_templates_by_id
NameTypeData typeDescription
idsquerystring or list of stringsThe template IDs to retrieve.
parametersquerydictionaryFull query parameters payload as a dictionary, not required when using other keywords.
from falconpy import CorrelationRules
falcon = CorrelationRules(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_rule_templates_by_id(ids=id_list)
print(response)