4.1. API Quickstart¶
Follow the Installation steps
Setup the connection arguments using axonshell tools write-config
Create a baseline script using
axonius_api_client.connect.Connect
4.1.1. Quick Get Assets Example¶
Here’s a simple example to get all device assets matching a query of:
assets that have NOT been seen in the last 3 days
assets seen by AWS
assets with an OS Type of Windows
Include extra fields in addition to the default fields specified in the API:
AWS: AWS Device Type
OS: Type
OS: Full OS String
>>> entries = [
... {'type': 'simple', 'value': '! last_seen last_days 3'},
... {'type': 'simple', 'value': 'os.type equals windows'},
... {'type': 'simple', 'value': 'aws:id exists'},
... ]
>>> fields = ["aws:aws_device_type", "os.type", "os.os_str"]
>>> assets = devices.get(wiz_entries=entries, fields=fields, field_null=True)
>>> print(devices.LAST_GET['filter'])
not (specific_data.data.last_seen >= date("NOW - 3d")) and (specific_data.data.os.type == "Windows") and ((adapters_data.aws_adapter.id == ({"$exists":true,"$ne":""})))
>>> len(assets)
5
>>> j(list(assets[0]))
[
"adapter_list_length",
"adapters",
"adapters_data.aws_adapter.aws_device_type",
"internal_axon_id",
"labels",
"specific_data.data.hostname",
"specific_data.data.name",
"specific_data.data.network_interfaces.ips",
"specific_data.data.network_interfaces.mac",
"specific_data.data.os.os_str",
"specific_data.data.os.type",
"specific_data.data.last_seen"
]
4.1.2. More examples¶
Note
Look in the axonius_api_client.examples directory for proof of concept example scripts
4.1.2.1. Adapters¶
Adapter connections:
axonius_api_client.api.adapters.cnx.Cnx
4.1.2.2. Assets¶
Device assets:
axonius_api_client.api.assets.devices.DevicesUser assets:
axonius_api_client.api.assets.users.UsersSaved queries:
axonius_api_client.api.assets.saved_query.SavedQueryExport callbacks for
axonius_api_client.api.assets.devices.Devices.get()andaxonius_api_client.api.assets.users.Users.get():If
exportis not supplied, seeaxonius_api_client.api.asset_callbacks.base.Base.args_map().If
exportequalsjson, seeaxonius_api_client.api.asset_callbacks.base_json.Json.args_map().If
exportequalscsv, seeaxonius_api_client.api.asset_callbacks.base_csv.Csv.args_map().If
exportequalsjson_to_csv, seeaxonius_api_client.api.asset_callbacks.base_json_to_csv.JsonToCsv.args_map().If
exportequalstable, seeaxonius_api_client.api.asset_callbacks.base_table.Table.args_map().If
exportequalsxlsx, seeaxonius_api_client.api.asset_callbacks.base_xlsx.Xlsx.args_map().
Query wizards:
For python objects:
axonius_api_client.api.wizards.wizard.WizardFor CSV files:
axonius_api_client.api.wizards.wizard_csv.WizardCsvFor text files:
axonius_api_client.api.wizards.wizard_text.WizardText
4.1.2.3. Enforcements and Actions¶
Enforcements:
axonius_api_client.api.enforcements.enforcements.EnforcementsEnforcement Actions:
axonius_api_client.api.enforcements.actions.RunAction
4.1.2.4. System¶
Dashboards and discovery cycles:
axonius_api_client.api.system.dashboard.DashboardInitial Signup:
axonius_api_client.api.system.signup.SignupInstances:
axonius_api_client.api.system.instances.InstancesMeta Data:
axonius_api_client.api.system.meta.MetaSystem Roles:
axonius_api_client.api.system.system_roles.SystemRolesSystem Settings - Global Settings:
axonius_api_client.api.system.settings_global.SettingsGlobalSystem Settings - GUI Settings:
axonius_api_client.api.system.settings_gui.SettingsGuiSystem Settings - Lifecyle Settings:
axonius_api_client.api.system.settings_lifecycle.SettingsLifecycleSystem Users:
axonius_api_client.api.system.system_users.SystemUsers