Exposure Management
The Exposure Management service collection provides operations for managing external assets and ecosystem subsidiaries. Aggregate external asset data, retrieve and update assets, manage ecosystem subsidiaries, download asset blobs, and query assets using FQL filters.
| Language | Last Update |
|---|---|
| Python | v1.6.5 |
| PowerShell | v2.2.9 |
| Go | v0.22.0 |
| TypeScript | v0.6.0 |
| Rust | v0.7.1 |
| Ruby | v1.4.0 |
This service collection has code examples posted to the repository.
Table of Contents
Section titled “Table of Contents”| Operation | Description |
|---|---|
aggregate-external-assetsaggregate_assets | Returns external assets aggregates. |
blob-download-external-assetsdownload_assets | Download the entire contents of the blob. |
blob-preview-external-assetspreview_assets | Download a preview of the blob. |
combined-ecosystem-subsidiariesquery_combined_ecosystem_subsidiaries | Retrieves a list of ecosystem subsidiaries with their detailed information. |
delete-external-assetsdelete_assets | Delete multiple external assets. |
get-ecosystem-subsidiariesget_ecosystem_subsidiaries | Retrieves detailed information about ecosystem subsidiaries by ID. |
get-external-assetsget_assets | Get details on external assets by providing one or more IDs. |
patch-external-assetsupdate_assets | Update the details of external assets. |
post-external-assets-inventory-v1add_assets | Add external assets for external asset scanning. |
query-ecosystem-subsidiariesquery_ecosystem_subsidiaries | Retrieves a list of IDs for ecosystem subsidiaries. |
query-external-assetsquery_assets | Get a list of external asset IDs that match the provided filter conditions. |
query-external-assets-v2query_assets | Get a list of external asset IDs that match the provided filter conditions. |
aggregate-external-assets
Section titled “aggregate-external-assets”Returns external assets aggregates.
aggregate_assetsParameters
Section titled “Parameters”Available values (6)
year | month | week |
day | hour | minute |
Available values (2)
_count_termAvailable values (10)
date_histogramdate_rangetermsrangecardinalitymaxminavgsumpercentilesfrom falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
date_ranges = [ { "from": "string", "to": "string" }]
ranges = [ { "From": 0, "To": 0 }]
response = falcon.aggregate_assets(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)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
date_ranges = [ { "from": "string", "to": "string" }]
ranges = [ { "From": 0, "To": 0 }]
response = falcon.aggregate_external_assets(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)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = [ { "date_ranges": [ { "from": "string", "to": "string" } ], "exclude": "string", "extended_bounds": { "max": "string", "min": "string" }, "field": "string", "filter": "string", "filters_spec": { "filters": {}, "other_bucket": boolean, "other_bucket_key": "string" }, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": [ { "from": integer, "to": integer } ], "size": integer, "sort": "string", "sub_aggregates": [ { "date_ranges": ["string"], "exclude": "string", "extended_bounds": {}, "field": "string", "filter": "string", "filters_spec": {}, "from": integer, "include": "string", "interval": "string", "max_doc_count": integer, "min_doc_count": integer, "missing": "string", "name": "string", "percents": ["string"], "q": "string", "ranges": ["string"], "size": integer, "sort": "string", "sub_aggregates": ["string"], "time_zone": "string", "type": "string" } ], "time_zone": "string", "type": "string" }]
response = falcon.command("aggregate_external_assets", body=body_payload)print(response)Examples coming soon.
package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
from := "string" to := "string" 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" From := integer To := integer size := integer sort := "string" time_zone := "string" typeVar := "string"
response, err := client.ExposureManagement.AggregateExternalAssets( &exposure_management.AggregateExternalAssetsParams{ Body: []*models.MsaAggregateQueryRequest{ { DateRanges: []interface{}{ { From: &from, To: &to, }, }, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{ { From: &From, To: &To, }, }, Size: &size, Sort: &sort, SubAggregates: []interface{}{ { DateRanges: []interface{}{ { From: &from, To: &to, }, }, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{ { From: &From, To: &To, }, }, Size: &size, Sort: &sort, SubAggregates: []interface{}{ { DateRanges: []interface{}{}, Exclude: &exclude, ExtendedBounds: &struct{}{}, Field: &field, Filter: &filter, FiltersSpec: &struct{}{}, From: &from, Include: &include, Interval: &interval, MaxDocCount: &max_doc_count, MinDocCount: &min_doc_count, Missing: &missing, Name: &name, Percents: []interface{}{}, Q: &q, Ranges: []interface{}{}, Size: &size, Sort: &sort, SubAggregates: []interface{}{}, TimeZone: &time_zone, Type: &typeVar, }, }, TimeZone: &time_zone, Type: &typeVar, }, }, TimeZone: &time_zone, Type: &typeVar, }, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.aggregateExternalAssets( [{ dateRanges: [{ from: "string", to: "string" }], exclude: "string", extendedBounds: { max: "string", min: "string" }, field: "string", filter: "string", filtersSpec: { filters: {}, otherBucket: boolean, otherBucketKey: "string" }, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [{ From: integer, To: integer }], size: integer, sort: "string", subAggregates: [{ dateRanges: [{ from: "string", to: "string" }], exclude: "string", extendedBounds: { max: "string", min: "string" }, field: "string", filter: "string", filtersSpec: { filters: {}, otherBucket: boolean, otherBucketKey: "string" }, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [{ From: integer, To: integer }], size: integer, sort: "string", subAggregates: [{ dateRanges: [], exclude: "string", extendedBounds: {}, field: "string", filter: "string", filtersSpec: {}, from: integer, include: "string", interval: "string", maxDocCount: integer, minDocCount: integer, missing: "string", name: "string", percents: [], q: "string", ranges: [], size: integer, sort: "string", subAggregates: [], timeZone: "string", type: "string" }], timeZone: "string", type: "string" }], timeZone: "string", type: "string"}] // body);
console.log(response);use rusty_falcon::apis::exposure_management_api::aggregate_external_assets;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::MsaAggregateQueryRequest;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = vec![MsaAggregateQueryRequest { date_ranges: vec![DateRangeSpec { from: Some("string".to_string()), to: Some("string".to_string()), ..Default::default() }], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![RangeSpec { from: Some(integer), to: Some(integer), ..Default::default() }], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![AggregateQueryRequest { date_ranges: vec![DateRangeSpec { from: Some("string".to_string()), to: Some("string".to_string()), ..Default::default() }], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![RangeSpec { from: Some(integer), to: Some(integer), ..Default::default() }], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![AggregateQueryRequest { date_ranges: vec![], exclude: Some("string".to_string()), field: Some("string".to_string()), filter: Some("string".to_string()), filters_spec: Default::default(), from: Some(integer), include: Some("string".to_string()), interval: Some("string".to_string()), missing: Some("string".to_string()), name: Some("string".to_string()), percents: vec![], q: Some("string".to_string()), ranges: vec![], size: Some(integer), sort: Some("string".to_string()), sub_aggregates: vec![], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }], time_zone: Some("string".to_string()), type: Some("string".to_string()), ..Default::default() }];
let response = aggregate_external_assets( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
body = [Falcon::MsaAggregateQueryRequest.new( date_ranges: [{ from: 'string', to: 'string' }], exclude: 'string', extended_bounds: { max: 'string', min: 'string' }, field: 'string', filter: 'string', filters_spec: { filters: {}, other_bucket: boolean, other_bucket_key: 'string' }, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [{ From: integer, To: integer }], size: integer, sort: 'string', sub_aggregates: [{ date_ranges: [{ from: 'string', to: 'string' }], exclude: 'string', extended_bounds: { max: 'string', min: 'string' }, field: 'string', filter: 'string', filters_spec: { filters: {}, other_bucket: boolean, other_bucket_key: 'string' }, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [{ From: integer, To: integer }], size: integer, sort: 'string', sub_aggregates: [{ date_ranges: [], exclude: 'string', extended_bounds: {}, field: 'string', filter: 'string', filters_spec: {}, from: integer, include: 'string', interval: 'string', max_doc_count: integer, min_doc_count: integer, missing: 'string', name: 'string', percents: [], q: 'string', ranges: [], size: integer, sort: 'string', sub_aggregates: [], time_zone: 'string', type: 'string' }], time_zone: 'string', type: 'string' }], time_zone: 'string', type: 'string')]
response = api.aggregate_external_assets(body)
puts response[ { "buckets": [], "doc_count_error_upper_bound": 0, "hits": {}, "name": "string", "sum_other_doc_count": 0 }]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}blob-download-external-assets
Section titled “blob-download-external-assets”Download the entire contents of the blob.
download_assetsParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
with open("output_file", "wb") as save_file: response = falcon.download_assets(assetId="string", hash="string", stream=boolean) save_file.write(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
with open("output_file", "wb") as save_file: response = falcon.blob_download_external_assets(assetId="string", hash="string", stream=boolean) save_file.write(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
with open("output_file", "wb") as save_file: response = falcon.command("blob_download_external_assets", asset_id="string", hash="string") save_file.write(response)Examples coming soon.
package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
response, err := client.ExposureManagement.BlobDownloadExternalAssets( &exposure_management.BlobDownloadExternalAssetsParams{ AssetID: "string", Hash: "string", Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.blobDownloadExternalAssets( "string", // assetId "string" // hash);
console.log(response);use rusty_falcon::apis::exposure_management_api::blob_download_external_assets;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = blob_download_external_assets( &falcon.cfg, // configuration "string", // asset_id "string", // hash ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.blob_download_external_assets('string', 'string')
puts 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 } }}{ "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 } }}{ "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 } }}{ "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 } }}blob-preview-external-assets
Section titled “blob-preview-external-assets”Download a preview of the blob.
preview_assetsParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.preview_assets(assetId="string", hash="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.blob_preview_external_assets(assetId="string", hash="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("blob_preview_external_assets", asset_id="string", hash="string")print(response)Examples coming soon.
package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
response, err := client.ExposureManagement.BlobPreviewExternalAssets( &exposure_management.BlobPreviewExternalAssetsParams{ AssetID: "string", Hash: "string", Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.blobPreviewExternalAssets( "string", // assetId "string" // hash);
console.log(response);use rusty_falcon::apis::exposure_management_api::blob_preview_external_assets;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = blob_preview_external_assets( &falcon.cfg, // configuration "string", // asset_id "string", // hash ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.blob_preview_external_assets('string', 'string')
puts response[ "string"]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}combined-ecosystem-subsidiaries
Section titled “combined-ecosystem-subsidiaries”Retrieves a list of ecosystem subsidiaries with their detailed information.
query_combined_ecosystem_subsidiariesParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_combined_ecosystem_subsidiaries(offset=integer, limit=integer, sort="string", filter="string", version_id="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.combined_ecosystem_subsidiaries(offset=integer, limit=integer, sort="string", filter="string", version_id="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("combined_ecosystem_subsidiaries", offset=integer, limit=integer, filter="string", sort="string", version_id="string")print(response)Get-FalconSubsidiary -Filter "string" ` -Sort "string" ` -Limit integer ` -Offset integerpackage main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
offset := int64(0) limit := int64(0) filter := "string" sort := "string" versionID := "string"
response, err := client.ExposureManagement.CombinedEcosystemSubsidiaries( &exposure_management.CombinedEcosystemSubsidiariesParams{ Offset: &offset, Limit: &limit, Filter: &filter, Sort: &sort, VersionID: &versionID, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.combinedEcosystemSubsidiaries( integer, // offset integer, // limit "string", // filter "string", // sort "string" // versionId);
console.log(response);use rusty_falcon::apis::exposure_management_api::combined_ecosystem_subsidiaries;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = combined_ecosystem_subsidiaries( &falcon.cfg, // configuration Some(integer), // offset Some(integer), // limit Some("string"), // filter Some("string"), // sort Some("string"), // version_id ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.combined_ecosystem_subsidiaries(offset: integer, limit: integer, filter: 'string', sort: 'string', version_id: 'string')
puts response[ { "asset_count": 0, "children_count": 0, "cid": "string", "discovery": {}, "id": "string", "name": "string", "parent_id": "string", "primary_domain": "string", "risk_score": 0.0 }]{ "errors": [ { "code": 0, "id": "string", "message": "string" } ], "meta": { "MetaInfo": { "pagination": {}, "powered_by": "string", "query_time": 0.0, "trace_id": "string", "writes": {} }, "version_id": "string" }}{ "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 } }}{ "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 } }}{ "errors": [ { "code": 0, "id": "string", "message": "string" } ], "meta": { "MetaInfo": { "pagination": {}, "powered_by": "string", "query_time": 0.0, "trace_id": "string", "writes": {} }, "version_id": "string" }}delete-external-assets
Section titled “delete-external-assets”Delete multiple external assets.
delete_assetsParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(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_assets(description="string", ids=id_list)print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(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_external_assets(description="string", ids=id_list)print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
body_payload = { "description": "string"}
response = falcon.command("delete_external_assets", ids=id_list, body=body_payload)print(response)Remove-FalconAsset -Comment "string" -Id @("ID1", "ID2")package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
description := "string"
response, err := client.ExposureManagement.DeleteExternalAssets( &exposure_management.DeleteExternalAssetsParams{ Body: &models.DomainExternalAssetAPIDeleteRequestV1{ Description: &description, }, Ids: []string{"ID1", "ID2", "ID3"}, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.deleteExternalAssets( ["ID1", "ID2", "ID3"], // ids { // body description: "string" });
console.log(response);use rusty_falcon::apis::exposure_management_api::delete_external_assets;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::DomainExternalAssetApiDeleteRequestV1;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = DomainExternalAssetApiDeleteRequestV1 { ..Default::default() };
let response = delete_external_assets( &falcon.cfg, // configuration vec!["string".to_string()], // ids body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
body = Falcon::DomainExternalAssetAPIDeleteRequestV1.new( description: 'string')
response = api.delete_external_assets(body, ['ID1', 'ID2', 'ID3'])
puts response[ "string"]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}get-ecosystem-subsidiaries
Section titled “get-ecosystem-subsidiaries”Retrieves detailed information about ecosystem subsidiaries by ID.
get_ecosystem_subsidiariesParameters
Section titled “Parameters”/fem/entities/ecosystem-subsidiaries/v1from falconpy import ExposureManagement
falcon = ExposureManagement(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_ecosystem_subsidiaries(ids=id_list, version_id="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(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_ecosystem_subsidiaries(ids=id_list, version_id="string")print(response)from falconpy import APIHarnessV2
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("get_ecosystem_subsidiaries", ids=id_list, version_id="string")print(response)Get-FalconSubsidiary -Id @("ID1", "ID2")package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
versionID := "string"
response, err := client.ExposureManagement.GetEcosystemSubsidiaries( &exposure_management.GetEcosystemSubsidiariesParams{ Ids: []string{"ID1", "ID2", "ID3"}, VersionID: &versionID, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.getEcosystemSubsidiaries( ["ID1", "ID2", "ID3"], // ids "string" // versionId);
console.log(response);use rusty_falcon::apis::exposure_management_api::get_ecosystem_subsidiaries;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = get_ecosystem_subsidiaries( &falcon.cfg, // configuration vec!["string".to_string()], // ids Some("string"), // version_id ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.get_ecosystem_subsidiaries(['ID1', 'ID2', 'ID3'])
puts response[ { "asset_count": 0, "children_count": 0, "cid": "string", "discovery": {}, "id": "string", "name": "string", "parent_id": "string", "primary_domain": "string", "risk_score": 0.0 }]{ "errors": [ { "code": 0, "id": "string", "message": "string" } ], "meta": { "MetaInfo": { "pagination": {}, "powered_by": "string", "query_time": 0.0, "trace_id": "string", "writes": {} }, "version_id": "string" }}{ "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 } }}{ "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 } }}{ "errors": [ { "code": 0, "id": "string", "message": "string" } ], "meta": { "MetaInfo": { "pagination": {}, "powered_by": "string", "query_time": 0.0, "trace_id": "string", "writes": {} }, "version_id": "string" }}get-external-assets
Section titled “get-external-assets”Get details on external assets by providing one or more IDs.
get_assetsParameters
Section titled “Parameters”/fem/queries/external-assets/v1from falconpy import ExposureManagement
falcon = ExposureManagement(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_assets(ids=id_list)print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(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_external_assets(ids=id_list)print(response)from falconpy import APIHarnessV2
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("get_external_assets", ids=id_list)print(response)Get-FalconAsset -Id @("ID1", "ID2") -External $booleanpackage main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
response, err := client.ExposureManagement.GetExternalAssets( &exposure_management.GetExternalAssetsParams{ Ids: []string{"ID1", "ID2", "ID3"}, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.getExternalAssets(["ID1", "ID2", "ID3"]); // ids
console.log(response);use rusty_falcon::apis::exposure_management_api::get_external_assets;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = get_external_assets( &falcon.cfg, // configuration vec!["string".to_string()], // ids ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.get_external_assets(['ID1', 'ID2', 'ID3'])
puts response[ { "applicable_actions": [], "asset_type": "string", "cid": "string", "confidence": 0, "criticality": "string", "criticality_description": "string", "criticality_timestamp": "string", "criticality_username": "string", "data_providers": [], "discovered_by": "string", "discovery": {}, "dns_domain": {}, "entity_type": "string", "first_seen": "string", "id": "string", "internet_exposure": "string", "ip": {}, "last_seen": "string", "manual": false, "perimeter": "string", "status": "string", "subsidiaries": [], "triage": {} }]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}patch-external-assets
Section titled “patch-external-assets”Update the details of external assets.
update_assetsParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.update_assets(action="string", assigned_to="string", cid="string", criticality="string", criticality_description="string", description="string", id="string", status="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.patch_external_assets(action="string", assigned_to="string", cid="string", criticality="string", criticality_description="string", description="string", id="string", status="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "assets": [ { "cid": "string", "criticality": "string", "criticality_description": "string", "id": "string", "triage": { "action": "string", "assigned_to": "string", "description": "string", "status": "string" } } ]}
response = falcon.command("patch_external_assets", body=body_payload)print(response)Edit-FalconAsset -Cid "string" -Id "string"package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
cid := "string" criticality := "string" criticality_description := "string" id := "string"
response, err := client.ExposureManagement.PatchExternalAssets( &exposure_management.PatchExternalAssetsParams{ Body: &models.DomainExternalAssetAPIPatchRequestV1{ Assets: []interface{}{ { CID: &cid, Criticality: &criticality, CriticalityDescription: &criticality_description, ID: &id, Triage: &struct{}{}, }, }, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.patchExternalAssets( { assets: [{ cid: "string", criticality: "string", criticalityDescription: "string", id: "string", triage: { action: "string", assignedTo: "string", description: "string", status: "string" } }]} // body);
console.log(response);use rusty_falcon::apis::exposure_management_api::patch_external_assets;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::DomainExternalAssetApiPatchRequestV1;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = DomainExternalAssetApiPatchRequestV1 { assets: vec![ExternalAssetsAPIPatch { id: Some("string".to_string()), ..Default::default() }], ..Default::default() };
let response = patch_external_assets( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
body = Falcon::DomainExternalAssetAPIPatchRequestV1.new( assets: [{ cid: 'string', criticality: 'string', criticality_description: 'string', id: 'string', triage: { action: 'string', assigned_to: 'string', description: 'string', status: 'string' } }])
response = api.patch_external_assets(body)
puts response[ { "applicable_actions": [], "asset_type": "string", "cid": "string", "confidence": 0, "criticality": "string", "criticality_description": "string", "criticality_timestamp": "string", "criticality_username": "string", "data_providers": [], "discovered_by": "string", "discovery": {}, "dns_domain": {}, "entity_type": "string", "first_seen": "string", "id": "string", "internet_exposure": "string", "ip": {}, "last_seen": "string", "manual": false, "perimeter": "string", "status": "string", "subsidiaries": [], "triage": {} }]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}post-external-assets-inventory-v1
Section titled “post-external-assets-inventory-v1”Add external assets for external asset scanning.
add_assetsParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
assets = [ { "id": "string", "value": "string" }]
response = falcon.add_assets(assets=assets, id="string", subsidiary_id="string", value="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
assets = [ { "id": "string", "value": "string" }]
response = falcon.post_external_assets_inventory_v1(assets=assets, id="string", subsidiary_id="string", value="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
body_payload = { "data": [ { "assets": [ { "id": "string", "value": "string" } ], "subsidiary_id": "string" } ]}
response = falcon.command("post_external_assets_inventory_v1", body=body_payload)print(response)New-FalconAsset -Asset @{}package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management" "github.com/crowdstrike/gofalcon/falcon/models")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
id := "string" value := "string" subsidiary_id := "string"
response, err := client.ExposureManagement.PostExternalAssetsInventoryV1( &exposure_management.PostExternalAssetsInventoryV1Params{ Body: &models.InventoryapiUserExternalAssetCreateRequestV1{ Data: []interface{}{ { Assets: []interface{}{ { ID: &id, Value: &value, }, }, SubsidiaryID: &subsidiary_id, }, }, }, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.postExternalAssetsInventoryV1( { data: [{ assets: [{ id: "string", value: "string" }], subsidiaryId: "string" }]} // body);
console.log(response);use rusty_falcon::apis::exposure_management_api::post_external_assets_inventory_v1;use rusty_falcon::easy::client::FalconHandle;use rusty_falcon::models::InventoryapiUserExternalAssetCreateRequestV1;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let body = InventoryapiUserExternalAssetCreateRequestV1 { data: vec![UserExternalAssetCreate { assets: vec![UserExternalAsset { id: Some("string".to_string()), value: Some("string".to_string()), ..Default::default() }], subsidiary_id: Some("string".to_string()), ..Default::default() }], ..Default::default() };
let response = post_external_assets_inventory_v1( &falcon.cfg, // configuration body, // body ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
body = Falcon::InventoryapiUserExternalAssetCreateRequestV1.new( data: [{ assets: [{ id: 'string', value: 'string' }], subsidiary_id: 'string' }])
response = api.post_external_assets_inventory_v1(body)
puts response[ { "asset_type": "string", "current_subsidiary": {}, "error": {}, "id": "string", "index": 0, "raw_value": "string", "subsidiary": {}, "value": "string" }]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}query-ecosystem-subsidiaries
Section titled “query-ecosystem-subsidiaries”Retrieves a list of IDs for ecosystem subsidiaries.
query_ecosystem_subsidiariesParameters
Section titled “Parameters”from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_ecosystem_subsidiaries(offset=integer, limit=integer, sort="string", filter="string", version_id="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_ecosystem_subsidiaries(offset=integer, limit=integer, sort="string", filter="string", version_id="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("query_ecosystem_subsidiaries", offset=integer, limit=integer, filter="string", sort="string", version_id="string")print(response)Get-FalconSubsidiary -Filter "string" ` -Sort "string" ` -Limit integer ` -Offset integerpackage main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
offset := int64(0) limit := int64(0) filter := "string" sort := "string" versionID := "string"
response, err := client.ExposureManagement.QueryEcosystemSubsidiaries( &exposure_management.QueryEcosystemSubsidiariesParams{ Offset: &offset, Limit: &limit, Filter: &filter, Sort: &sort, VersionID: &versionID, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.queryEcosystemSubsidiaries( integer, // offset integer, // limit "string", // filter "string", // sort "string" // versionId);
console.log(response);use rusty_falcon::apis::exposure_management_api::query_ecosystem_subsidiaries;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = query_ecosystem_subsidiaries( &falcon.cfg, // configuration Some(integer), // offset Some(integer), // limit Some("string"), // filter Some("string"), // sort Some("string"), // version_id ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.query_ecosystem_subsidiaries(offset: integer, limit: integer, filter: 'string', sort: 'string', version_id: 'string')
puts response[ "string"]{ "errors": [ { "code": 0, "id": "string", "message": "string" } ], "meta": { "MetaInfo": { "pagination": {}, "powered_by": "string", "query_time": 0.0, "trace_id": "string", "writes": {} }, "version_id": "string" }}{ "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 } }}{ "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 } }}{ "errors": [ { "code": 0, "id": "string", "message": "string" } ], "meta": { "MetaInfo": { "pagination": {}, "powered_by": "string", "query_time": 0.0, "trace_id": "string", "writes": {} }, "version_id": "string" }}query-external-assets
Section titled “query-external-assets”Get a list of external asset IDs that match the provided filter conditions.
query_assetsParameters
Section titled “Parameters”Available values (87)
asset_id | asset_type | confidence |
connectivity_status | criticality | criticality_description |
criticality_timestamp | criticality_username | data_providers |
discovered_by | dns_domain.fqdn | dns_domain.isps |
dns_domain.parent_domain | dns_domain.resolved_ips | dns_domain.services.applications.category |
dns_domain.services.applications.cpe | dns_domain.services.applications.name | dns_domain.services.applications.vendor |
dns_domain.services.applications.version | dns_domain.services.cloud_provider | dns_domain.services.cpes |
dns_domain.services.hosting_provider | dns_domain.services.last_seen | dns_domain.services.platform_name |
dns_domain.services.port | dns_domain.services.protocol | dns_domain.services.protocol_port |
dns_domain.services.status | dns_domain.services.status_code | dns_domain.services.transport |
dns_domain.type | first_seen | id |
internet_exposure | ip.asn | ip.cloud_provider |
ip.cloud_vm.description | ip.cloud_vm.instance_id | ip.cloud_vm.lifecycle |
ip.cloud_vm.mac_address | ip.cloud_vm.owner_id | ip.cloud_vm.platform |
ip.cloud_vm.private_ip | ip.cloud_vm.public_ip | ip.cloud_vm.region |
ip.cloud_vm.security_groups | ip.cloud_vm.source | ip.cloud_vm.status |
ip.fqdns | ip.ip_address | ip.isp |
ip.location.area_code | ip.location.city | ip.location.country_code |
ip.location.country_name | ip.location.postal_code | ip.location.region_code |
ip.location.region_name | ip.location.timezone | ip.ptr |
ip.aid | ip.services.applications.category | ip.services.applications.cpe |
ip.services.applications.name | ip.services.applications.vendor | ip.services.applications.version |
ip.services.cloud_provider | ip.services.cpes | ip.services.first_seen |
ip.services.last_seen | ip.services.platform_name | ip.services.port |
ip.services.protocol | ip.services.protocol_port | ip.services.status |
ip.services.status_code | ip.services.transport | last_seen |
manual | perimeter | subsidiaries.id |
subsidiaries.name | triage.action | triage.assigned_to |
triage.status | triage.updated_by | triage.updated_timestamp |
from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_assets(offset=integer, limit=integer, sort="string", filter="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_external_assets(offset=integer, limit=integer, sort="string", filter="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("query_external_assets", offset="string", limit=integer, sort="string", filter="string")print(response)Examples coming soon.
package main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
offset := "string" limit := int64(0) sort := "string" filter := "string"
response, err := client.ExposureManagement.QueryExternalAssets( &exposure_management.QueryExternalAssetsParams{ Offset: &offset, Limit: &limit, Sort: &sort, Filter: &filter, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.queryExternalAssets( "string", // offset integer, // limit "string", // sort "string" // filter);
console.log(response);use rusty_falcon::apis::exposure_management_api::query_external_assets;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = query_external_assets( &falcon.cfg, // configuration Some("string"), // offset Some(integer), // limit Some("string"), // sort Some("string"), // filter ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.query_external_assets(offset: 'string', limit: integer, sort: 'string', filter: 'string')
puts response[ "string"]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}query-external-assets-v2
Section titled “query-external-assets-v2”Get a list of external asset IDs that match the provided filter conditions.
query_assetsParameters
Section titled “Parameters”limit parameter to manage pagination of results. On your first request, don’t provide an after token. On subsequent requests, provide the after token from the previous response to continue from that place in the results.from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_assets(offset=integer, limit=integer, sort="string", filter="string")print(response)from falconpy import ExposureManagement
falcon = ExposureManagement(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.query_external_assets_v2(offset=integer, limit=integer, sort="string", filter="string")print(response)from falconpy import APIHarnessV2
falcon = APIHarnessV2(client_id=CLIENT_ID, client_secret=CLIENT_SECRET )
response = falcon.command("query_external_assets_v2", after="string", limit=integer, sort="string", filter="string")print(response)Get-FalconAsset -Filter "string" ` -Sort "string" ` -Limit integer ` -External $booleanpackage main
import ( "context" "fmt" "os"
"github.com/crowdstrike/gofalcon/falcon" "github.com/crowdstrike/gofalcon/falcon/client/exposure_management")
func main() { client, err := falcon.NewClient(&falcon.ApiConfig{ ClientId: os.Getenv("FALCON_CLIENT_ID"), ClientSecret: os.Getenv("FALCON_CLIENT_SECRET"), Context: context.Background(), }) if err != nil { panic(err) }
after := "string" limit := int64(0) sort := "string" filter := "string"
response, err := client.ExposureManagement.QueryExternalAssetsV2( &exposure_management.QueryExternalAssetsV2Params{ After: &after, Limit: &limit, Sort: &sort, Filter: &filter, Context: context.Background(), }, ) if err != nil { panic(falcon.ErrorExplain(err)) }
fmt.Printf("%+v\n", response.Payload)}import { FalconClient } from "crowdstrike-falcon";
const client = new FalconClient({ cloud: process.env.FALCON_CLOUD!, clientId: process.env.FALCON_CLIENT_ID!, clientSecret: process.env.FALCON_CLIENT_SECRET!,});
const response = await client.exposureManagement.queryExternalAssetsV2( "string", // after integer, // limit "string", // sort "string" // filter);
console.log(response);use rusty_falcon::apis::exposure_management_api::query_external_assets_v2;use rusty_falcon::easy::client::FalconHandle;
#[tokio::main]async fn main() { let falcon = FalconHandle::from_env().await.expect("Could not authenticate");
let response = query_external_assets_v2( &falcon.cfg, // configuration Some("string"), // after Some(integer), // limit Some("string"), // sort Some("string"), // filter ).await.expect("API call failed");
println!("{:?}", response);}require "crimson-falcon"
Falcon.configure do |config| config.client_id = ENV["FALCON_CLIENT_ID"] config.client_secret = ENV["FALCON_CLIENT_SECRET"] config.cloud = ENV["FALCON_CLOUD"]end
api = Falcon::ExposureManagement.new
response = api.query_external_assets_v2(after: 'string', limit: integer, sort: 'string', filter: 'string')
puts response[ "string"]{ "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 } }}{ "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 } }}{ "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 } }}{ "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 } }}