Scheduled Reports - CrowdStrike/falconpy GitHub Wiki

CrowdStrike Falcon CrowdStrike Subreddit

Using the Scheduled Reports service collection

Uber class support Service class support Documentation Version Page Updated

Table of Contents

Operation ID Description
scheduled_reports_launch
PEP 8 launch
Launch scheduled report executions for the provided ID(s).
scheduled_reports_get
PEP 8 get_reports
Retrieve scheduled reports for the provided report IDs.
scheduled_reports_query
PEP 8 query_reports
Find all report IDs matching the query with filter

Passing credentials

WARNING

client_id and client_secret are keyword arguments 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.

scheduled_reports_launch

Launch scheduled report executions for the provided ID(s).

PEP8 method name

launch

Endpoint

Method Route
POST /reports/entities/scheduled-reports/execution/v1

Content-Type

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

Keyword Arguments

Name Service Uber Type Data type Description
ids
Service Class Support

Uber Class Support
query string or list of strings The report ID(s) to launch.
body
Service Class Support

Uber Class Support
query list of dictionaries Full body payload in JSON format.

Usage

Service class example (PEP8 syntax)
from falconpy import ScheduledReports

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

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

response = falcon.launch(ids=id_list)
print(response)
Service class example (Operation ID syntax)
from falconpy import ScheduledReports

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

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

response = falcon.scheduled_reports_launch(ids=id_list)
print(response)
Uber class example
from falconpy import APIHarnessV2

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

# To send multiple retries, pass a list of dictionaries, each holding one ID
BODY = [
    {
        "id": "ID1"
    },
    {
        "id": "ID2"
    },
    {
        "id": "ID3"
    }
]

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

scheduled_reports_get

Retrieve scheduled reports for the provided report IDs.

PEP8 method name

get_reports

Endpoint

Method Route
GET /reports/entities/scheduled-reports/v1

Content-Type

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

Keyword Arguments

Name Service Uber Type Data type Description
ids
Service Class Support

Uber Class Support
query string or list of strings The scheduled_report id to get details about.
parameters
Service Class Support

Uber Class Support
query dictionary Full query string parameters payload in JSON format.

Usage

Service class example (PEP8 syntax)
from falconpy import ScheduledReports

# Do not hardcode API credentials!
falcon = ScheduledReports(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_reports(ids=id_list)
print(response)
Service class example (Operation ID syntax)
from falconpy import ScheduledReports

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

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

response = falcon.scheduled_reports_get(ids=id_list)
print(response)
Uber class example
from falconpy import APIHarnessV2

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

scheduled_reports_query

Find all report IDs matching the query with filter

PEP8 method name

query_reports

Endpoint

Method Route
GET /reports/queries/scheduled-reports/v1

Content-Type

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

Keyword Arguments

Name Service Uber Type Data type Description
filter
Service Class Support

Uber Class Support
query string FQL query specifying the filter parameters.

Filter term criteria:
  • type
  • trigger_reference
  • recipients
  • user_uuid
  • cid
  • trigger_params.metadata
Filter range criteria:
  • created_on
  • modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'
limit
Service Class Support

Uber Class Support
query integer Number of ids to return.
offset
Service Class Support

Uber Class Support
query string Starting index of overall result set from which to return ids.
parameters
Service Class Support

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

Uber Class Support
query string Match query criteria, which includes all the filter string fields.
sort
Service Class Support

Uber Class Support
query string Possible order by fields:
  • created_on
  • last_updated_on
  • last_execution_on
  • next_execution_on

Usage

Service class example (PEP8 syntax)
from falconpy import ScheduledReports

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

response = falcon.query_reports(sort="string",
                                filter="string",
                                q="string",
                                offset="string",
                                limit=integer
                                )
print(response)
Service class example (Operation ID syntax)
from falconpy import ScheduledReports

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

response = falcon.scheduled_reports_query(sort="string",
                                          filter="string",
                                          q="string",
                                          offset="string",
                                          limit=integer
                                          )
print(response)
Uber class example
from falconpy import APIHarnessV2

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

response = falcon.command("scheduled_reports_query",
                          sort="string",
                          filter="string",
                          q="string",
                          offset="string",
                          limit=integer
                          )
print(response)
⚠️ **GitHub.com Fallback** ⚠️