Watchlist API for Enterprise EDR
Introduction
The Watchlist API enables you to manage Watchlists for your organization throughout their lifecycle - creation, update and removal - as well as associated Reports and IOCs.
It allows you to manage both Watchlists subscribed from third party threat intelligence feeds (aka “classifier” watchlists) and those custom built for your organization’s specific needs from new and/or existing Reports (aka “report” watchlists).
With visibility across your fleet of monitored endpoints, you can identify processes that are acting abnormally and over time, focus your watchlists to generate hits and alerts only for unexpected or unwanted activity. This includes:
- Creating new report Watchlists from scratch and add/remove/disable/enable new or existing Reports to that Custom Report Watchlist
- Configuring or disabling existing Watchlists including enabling “tagging” aka generating “hits” and/or “alerting” aka generating Watchlist Alerts
- Configuring or deleting Reports and their included IOCs
- Disabling (ignore) individual Reports and IOCs to stop generating tagged events aka hits in otherwise-tagging-enabled Watchlists
The information model for Carbon Black Cloud Watchlists is comprised of three units of information:
- IOCs are the smallest unit of information - a single indicator of compromise, to be searched across your organization’s Enterprise EDR data
- Reports collect one or more IOCs together as a unit of control - all collected IOCs can be enabled or disabled from generating hits and alerts in a single action
- Watchlists collect one or more Reports together as another unit of control - all Reports in one Watchlist can be enabled or disabled for Alerting or reporting in your organization in a single action
Warning: Do not exceed 1k IOCs per report or 10k reports per feed or watchlist. Exceeding the limit will prevent editing or searching IOCs and Reports. Consider breaking up the Threat Intelligence into multiple feeds or combining IOCs or reports.
Requirements
- Enterprise EDR product
- All API calls require an API key with appropriate permissions
Authentication
Determine whether you use Carbon Black Cloud or VMware Cloud Services Platform to manage identity and authorization, or see the Carbon Black Cloud API Access Guide for complete instructions.Carbon Black Cloud Managed Identity and Authentication
Customize your access to the Carbon Black Cloud APIs with Role-Based Access Control; All APIs and Services authenticate via API Keys. To access the data in Carbon Black Cloud via API, you must set up a key with the correct permissions for the calls you want to make and pass it in the HTTP Headers.
Environment
Available on majority of environments; Use the Carbon Black Cloud Console URL, as described here.
API Route
Replace the {cbc-hostname} and {org_key} with the URL of your Environment and the org_key for your specific Org.
- Watchlist: {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists
Access Level
Before you create your API Key, you need to create a "Custom" Access Level including each category:
- org.watchlists, allow permission to
CREATE, READ, UPDATE, DELETE
API Key
When creating your API Key, use the Access Level Type of "Custom" and select the Access Level you created. Details on constructing and passing the API Key in your requests are available here.
Cloud Services Platform Managed Identity and Authentication
Customize your access to the Carbon Black Cloud APIs with OAuth Access Control; API access is controlled using OAuth apps or User API Tokens. This is currently limited to the UK Point of Presence and AWS GovCloud (US).
Environment
Available on
Prod UK
and AWS GovCloud (US)
. Full list of environments is available here; Use the Carbon Black Cloud Console URL from Cloud Services Platform, as described here.
API Route
Replace the {cbc-hostname} and {org_key} with the URL of your Environment and the org_key for your specific Org.
- Watchlist: {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists
Access Level
Before you create your OAuth App, you need to create a custom Role with the following permissions under IDENTITY & ACCESS MANAGEMENT > Roles > VMware Carbon Black Cloud:
- _API.Custom.Detections:org.Watchlists, allow permission to
CREATE, READ, UPDATE, DELETE
API Authentication
The Cloud Services Platform supports several authentication options, Access Token, API Token, and for backward compatibility, X-Auth-Token. To learn about the differences or how to use the authentication methods see the Authentication Guide.
Watchlist
Create New Watchlist
Create a new report or classifier watchlist. Unique watchlist ID will be generated by the service. Request must only specify report_ids
(for Custom Report Watchlist) or classifier
(for Subscribed Feed Watchlist), but not both.
Warning: Do not exceed 1k IOCs per report or 10k reports per feed or watchlist. Exceeding the limit will prevent editing or searching IOCs and Reports. Consider breaking up the Threat Intelligence into multiple feeds or combining IOCs or reports.
Warning: A watchlist with tags_enabled: false
and alerts_enabled: true
is not supported and will result in a 400 Bad Request.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
CREATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:create |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
POST {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists
Request Body
{
"name": "<string>",
"description": "<string>",
"tags_enabled": "<boolean>",
"alerts_enabled": "<boolean>",
"alert_classification_enabled": "<boolean>",
"report_ids": ["<string>"],
"classifier": ClassifierKeyValue
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
name REQUIRED
|
Watchlist name | String | |
description |
Watchlist description | String | |
tags_enabled |
Whether tags should be enabled for this watchlist | Boolean | true , false |
alerts_enabled |
Whether alerts should be enabled for this watchlist | Boolean | true , false |
alert_classification_enabled |
Whether Anomaly Classification should be enabled for this watchlist. This can only be enabled on Carbon Black managed feeds which support alert classification | Boolean | true , false |
report_ids |
Report ID’s to attach to this watchlist | [String] | |
classifier |
Watchlist classifier key and value | ClassifierKeyValue |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Watchlist successfully created | application/json | View example response below |
400 | The JSON body was malformed, or some part of the JSON body included an invalid value | ||
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
POST https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists
Request Body
{
"name": "My Watchlist",
"description": "Watchlist subscribed to a Feed",
"tags_enabled": true,
"alerts_enabled": false,
"alert_classification_enabled": false,
"classifier": {
"key": "feed_id",
"value": "ABCDEFGHIJKLMNOPQRSTU"
}
}
Response
{
"name": "My Watchlist",
"description": "Watchlist subscribed to a Feed",
"id": "MEjVbdeyS1uJtQ8auEq3A",
"tags_enabled": true,
"alerts_enabled": false,
"alert_classification_enabled": false,
"create_timestamp": 1604693936,
"last_update_timestamp": 1604693936,
"report_ids": null,
"classifier": {
"key": "feed_id",
"value": "ABCDEFGHIJKLMNOPQRSTU"
}
}
Get All Watchlists
Retrieve all watchlists owned by the caller.
Note: classifier watchlists (Subscribed Feed Watchlists) will include a null-value for report_ids
, and report watchlists (Custom Report Watchlists) will include a null-value for the classifier
object.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved watchlists | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists
Response
{
"results": [
{
"name": "My Watchlist",
"description": "Watchlist subscribed to Reports",
"id": "5LKpHr2SHiaE2QprfPhQ",
"tags_enabled": true,
"alerts_enabled": true,
"alert_classification_enabled": false,
"create_timestamp": 1553542270,
"last_update_timestamp": 1553542270,
"report_ids": [
"MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38",
"MLRtPcpQGKFh5OE4BT3tQ-e31ff772-6ca3-48ee-94ad-08de7dcea717"
],
"classifier": null
},
{
"name": "My Other Watchlist",
"description": "Watchlist subscribed to a Feed",
"id": "R4cMgFIhRaakgk749MRr6Q",
"tags_enabled": true,
"alerts_enabled": true,
"alert_classification_enabled": false,
"create_timestamp": 1578078507,
"last_update_timestamp": 1599574461,
"report_ids": null,
"classifier": {
"key": "feed_id",
"value": "ABCDEFGHIJKLMNOPQRSTU"
}
}
]
}
Get Watchlist
Retrieve watchlist with watchlist_id
.
Note: classifier watchlists (Subscribed Feed Watchlists) will include a null-value for report_ids
, and report watchlists (Custom Report Watchlists) will include a null-value for the classifier
object.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved watchlist | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q
Response
{
"name": "My Other Watchlist",
"description": "Watchlist subscribed to a Feed",
"id": "R4cMgFIhRaakgk749MRr6Q",
"tags_enabled": true,
"alerts_enabled": true,
"alert_classification_enabled": false,
"create_timestamp": 1578078507,
"last_update_timestamp": 1599574461,
"report_ids": null,
"classifier": {
"key": "feed_id",
"value": "ABCDEFGHIJKLMNOPQRSTU"
}
}
Get Watchlist Telemetry
Returns hits and executions for watchlists over the provided intervals. By default will return telemetry aggregated over the past hour. Include comma seperated list of intervals in minutes as query param intervals
to aggregate over different ranges, eg intervals=1440,10080,43200.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
POST {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/telemetry
Request Body
{
"watchlist_ids": ["<string>"],
"intervals": [<integer>]
}
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved telemetry | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Examples
POST https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/telemetry
X-AUTH-TOKEN: "ABCDEFGHIJKLMNO123456789/ABCD123456"
Content-Type: "application/json"
{
"watchlist_ids": [
"UZDbBhFPTamJbZGQcwUHEw"
],
"intervals": [
1440,
10080,
43200
]
}
{
"telemetry": [
{
"watchlist_id": "UZDbBhFPTamJbZGQcwUHEw",
"interval": 1440,
"hits": 1,
"executions": 0
},
{
"watchlist_id": "UZDbBhFPTamJbZGQcwUHEw",
"interval": 10080,
"hits": 5,
"executions": 1
},
{
"watchlist_id": "UZDbBhFPTamJbZGQcwUHEw",
"interval": 43200,
"hits": 25,
"executions": 2
}
]
}
Update Watchlist
Update watchlist with watchlist_id
. This will update the tags and alert status as well as any reports or classifiers attached to the watchlist. If a field is missing or null (e.g. tags_enabled
is not included) that field will not be updated. Cannot update report watchlist with empty report_ids
list.
Warning: A watchlist with tags_enabled: false
and alerts_enabled: true
is not supported and will result in a 400 Bad Request.
Alerting is not supported on the following feeds due to the volume of hits:
- ATT&CK Framework
- Carbon Black Early Access Indicators
- Carbon Black Endpoint Visibility
- Carbon Black Suspicious Indicators
Attempting to enable an alert on any of these feeds will result in a 400 error.
Further information is available here.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}
Request Body
{
"name": "<string>",
"description": "<string>",
"tags_enabled": "<boolean>",
"alerts_enabled": "<boolean>",
"alert_classification_enabled": "<boolean>",
"report_ids": ["<string>"],
"classifier": ClassifierKeyValue
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
name |
Watchlist name | String | |
description |
Watchlist description | String | |
tags_enabled |
Whether tags should be enabled for this watchlist | Boolean | true , false |
alerts_enabled |
Whether alerts should be enabled for this watchlist | Boolean | true , false |
alert_classification_enabled |
Whether Anomaly Classification should be enabled for this watchlist. This can only be enabled on Carbon Black managed feeds which support alert classification | Boolean | true , false |
report_ids |
Report ID’s to attach to this watchlist | [String] | |
classifier |
Watchlist classifier key and value | ClassifierKeyValue |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Watchlist successfully updated | application/json | View example response below |
400 | The JSON body was malformed, or some part of the JSON body included an invalid value | ||
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q
Request Body
{
"name": "New Name for My Watchlist",
"description": "Updated Watchlist subscribed to a Feed",
"tags_enabled": false,
"alerts_enabled": false,
"alert_classification_enabled": false,
"classifier": {
"key": "feed_id",
"value": "FGHIJKLMNOPQRSTUVWXYZ"
}
}
Response
{
"name": "New Name for My Watchlist",
"description": "Updated Watchlist subscribed to a Feed",
"id": "R4cMgFIhRaakgk749MRr6Q",
"tags_enabled": false,
"alerts_enabled": false,
"alert_classification_enabled": false,
"create_timestamp": 1604693936,
"last_update_timestamp": 1604694841,
"report_ids": null,
"classifier": {
"key": "feed_id",
"value": "FGHIJKLMNOPQRSTUVWXYZ"
}
}
Delete Watchlist
Remove watchlist with watchlist_id
. Existing hits for this watchlist will remain in the Carbon Black Cloud for the data retention period.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully deleted watchlist | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q
Response
204 No Content
Delete All Watchlists
Remove all of an organization’s watchlists. Existing hits for watchlists will remain in the system.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully deleted all watchlists | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists
Response
204 No Content
Get Watchlist Alert Status
Retrieve alert status for watchlist with watchlist_id
i.e. whether the watchlist will generate alerts or not.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}/alert
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved watchlist alert status | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q/alert
Response
{
"alert": true
}
Enable Watchlist Alerts
Turn on alerts for watchlist with watchlist_id
. This is not retroactive for existing watchlist hits; alerts will not be generated for previous watchlist hits. Future hits will trigger alerts.
Warning: A watchlist with tags_enabled: false
and alerts_enabled: true
is not supported and will result in a 400 Bad Request.
Alerting is not supported on the following feeds due to the volume of hits:
- ATT&CK Framework
- Carbon Black Early Access Indicators
- Carbon Black Endpoint Visibility
- Carbon Black Suspicious Indicators
Attempting to enable an alert on any of these feeds will result in a 400 error.
Further information is available here.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}/alert
Request Body
{
"alert": "<boolean>"
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
alert |
Whether alerts should be enabled or disabled | Boolean | true |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated alerting for the watchlist | application/json | View example response below |
400 | The JSON body was malformed, or some part of the JSON body included an invalid value | ||
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q/alert
Request Body
{
"alert": true
}
Response
{
"alert": true
}
Disable Watchlist Alerts
Turn off alerts for watchlist with watchlist_id
. This is not retroactive for existing watchlist alerts, as watchlist alerts previously generated will not be removed. Future hits will not trigger alerts.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}/alert
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully turned off alerting for the watchlist | No Content | |
400 | The JSON body was malformed, or some part of the JSON body included an invalid value | ||
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q/alert
Response
No Content
Disable All Watchlist Alerts
Turn off alerts for all watchlists. This is not retroactive for existing watchlist alerts. Future hits will not trigger alerts.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/alert
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully turned off alerts for all watchlists | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/alert
Response
204 No Content
Get Watchlist Tag Status
Determine whether tagging (aka generating “watchlist hits” from IOC matches) is enabled for watchlist with watchlist_id
.
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}/tag
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved tag status for this watchlist | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q/tag
Response
{
"tag": true
}
Enable Watchlist Tags
Turn on tagging (aka generating “watchlist hits”) for watchlist with watchlist_id
. This is not retroactive for existing watchlist matches. Future matches will trigger event tagging.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}/tag
Request Body
{
"tag": "<boolean>"
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
tag REQUIRED
|
Whether to turn on tagging for this watchlist | Boolean | true |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated watchlist tag status | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q/tag
Request Body
{
"tag": true
}
Response
{
"tag": true
}
Disable Watchlist Tags
Turn off tagging (aka stop generating “watchlist hits”) for watchlist with watchlist_id
. This is not retroactive for existing watchlist tags/hits. Future matches will not generate tagged events.
Warning: A watchlist with tags_enabled: false
and alerts_enabled: true
is not supported and will result in a 400 Bad Request.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/{watchlist_id}/tag
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully turned off tagging for this watchlist | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/R4cMgFIhRaakgk749MRr6Q/tag
Response
204 No Content
Disable All Watchlist Tags
Turn off tagging (aka stop generating “watchlist hits”) for all watchlists. This is not retroactive for existing watchlist tags. Future matches will not generate tagged events.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/watchlists/tag
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully turned off tagging for all watchlists | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/watchlists/tag
Response
204 No Content
Reports
Create New Report
Adds a new watchlist report. This endpoint will return a unique report id - the ‘id’ field is not required nor accepted as input for this request. This report will be private to the caller - i.e. only available in the requesting organization. IOCs will be converted to IOC_V2.
Warning: If the link
is not null
or more than one query IOC is added to the report then the report will NOT be editable in the Carbon Black Cloud console.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
CREATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:create |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
POST {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports
Request Body
{
"title": "<string>",
"description": "<string>",
"timestamp": <integer>,
"severity": <integer>,
"link": "<string>",
"tags": ["<string>"],
"iocs": IOCs,
"iocs_v2": [IOCv2],
"visibility": "<string>"
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
title REQUIRED
|
Report title | String | |
description REQUIRED
|
Report description | String | |
timestamp REQUIRED
|
UNIX Epoch timestamp to associate with the report | Integer | |
severity REQUIRED
|
Report severity | Integer | Between 1 and 10, inclusive |
link |
A URL to associate with the report | String | |
tags |
Report tags | [String] | |
iocs |
IOCs to associate with the report | IOCs | IOC |
iocs_v2 |
IOCv2’s to associate with the report. Preferred over IOCs. | Array | IOCv2 |
visibility |
Report visibility | String |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully created this report | application/json | View example response below |
400 | The JSON body was malformed, or some part of the JSON body included an invalid value | ||
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
POST https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports
Request Body
{
"title": "Persistence - Possible Tibet.c Backdoor Installation",
"description": "This query identifies files that are known to be associated with the installation of a backdoor in OSX.\n\nThreat:\nThis activity is associated with multiple variants of Tibet.c\n\nFalse Positives:\nWe are currently unaware of any specific conditions that would generate false positives for this query. Any hits would most likely warrant further investigation.\n\nScore:\n100",
"timestamp": 1603123890,
"severity": 10,
"link": "https://community.broadcom.com/symantecenterprise/blogs/anadrowski/2024/04/14/cb-response-advanced-threats-threat-intel-feed",
"tags": [
"malware",
"backdoor",
"tibet",
"attackframework",
"attack",
"t1543",
"peristence",
"osx",
"macos"
],
"iocs": null,
"iocs_v2": [
{
"id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0",
"match_type": "query",
"values": [
"((filemod_name:\"\/Library\/Audio\/Plug\\-Ins\/Components\/AudioService\" OR filemod_name:\"\/Library\/LaunchAgents\/com.apple.AudioService.plist\" AND device_os:MAC)) -enriched:true"
],
"field": null,
"link": null
}
],
"visibility": "visible"
}
Response
{
"id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38",
"timestamp": 1603123890,
"title": "Persistence - Possible Tibet.c Backdoor Installation",
"description": "This query identifies files that are known to be associated with the installation of a backdoor in OSX.\n\nThreat:\nThis activity is associated with multiple variants of Tibet.c\n\nFalse Positives:\nWe are currently unaware of any specific conditions that would generate false positives for this query. Any hits would most likely warrant further investigation.\n\nScore:\n100",
"severity": 10,
"link": "https://community.broadcom.com/symantecenterprise/blogs/anadrowski/2024/04/14/cb-response-advanced-threats-threat-intel-feed",
"tags": [
"malware",
"backdoor",
"tibet",
"attackframework",
"attack",
"t1543",
"peristence",
"osx",
"macos"
],
"iocs": null,
"iocs_v2": [
{
"id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0",
"match_type": "query",
"values": [
"((filemod_name:\"\/Library\/Audio\/Plug\\-Ins\/Components\/AudioService\" OR filemod_name:\"\/Library\/LaunchAgents\/com.apple.AudioService.plist\" AND device_os:MAC)) -enriched:true"
],
"field": null,
"link": null
}
],
"visibility": "visible"
}
Update a Report
Update report with report_id
. This will replace all fields in the report. Any fields not provided in the request will be removed from the report. All IOCs will be converted to IOCv2. The report must be owned by the caller.
Warning: If the link
is not null
or more than one query IOC is added to the report then the report will NOT be editable in the Carbon Black Cloud console.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}
Request Body
{
"title": "<string>",
"description": "<string>",
"timestamp": "<integer>",
"severity": "<integer>",
"link": "<string>",
"tags": ["<string>"],
"iocs": IOCs,
"iocs_v2": [IOCv2],
"visibility": "<string>"
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
title |
Report title | String | |
description |
Report description | String | |
timestamp |
UNIX Epoch timestamp to associate with the report | Integer | |
severity |
Report severity | Integer | Between 1 and 10, inclusive |
link |
A URL to associate with the report | String | |
tags |
Report tags | [String] | |
iocs |
IOCs to associate with the report | IOCs | IOC |
iocs_v2 |
IOCv2’s to associate with the report. Preferred over IOCs. | Array | IOCv2 |
visibility |
Report visibility | String |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated this report | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/UZDbBhFPTamJbZGQcwUHEw
Request Body
{
"title": "My New Title",
"description": "My New Description",
"timestamp": 1604702592,
"severity": 1,
"tags": [
"macos"
],
"iocs_v2": [
{
"id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0",
"match_type": "query",
"values": [
"filemod_name:\"\/Library\/Audio\/Plug\\-Ins\/Components\/AudioService\""
]
}
],
"visibility": "visible"
}
Response
{
"id": "UZDbBhFPTamJbZGQcwUHEw",
"timestamp": 1604702592,
"title": "My New Title",
"description": "My New Description",
"severity": 1,
"link": null,
"tags": [
"macos"
],
"iocs": null,
"iocs_v2": [
{
"id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0",
"match_type": "query",
"values": [
"filemod_name:\"/Library/Audio/Plug\\-Ins/Components/AudioService\""
],
"field": null,
"link": null
}
],
"visibility": "visible"
}
Get Report
Retrieve report with report_id
. The report must be owned by the caller.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved report | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/UZDbBhFPTamJbZGQcwUHEw
Response
{
"id": "UZDbBhFPTamJbZGQcwUHEw",
"timestamp": 1604702592,
"title": "My New Title",
"description": "My New Description",
"severity": 1,
"link": null,
"tags": [
"macos"
],
"iocs": null,
"iocs_v2": [
{
"id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0",
"match_type": "query",
"values": [
"filemod_name:\"/Library/Audio/Plug\\-Ins/Components/AudioService\""
],
"field": null,
"link": null
}
],
"visibility": "visible"
}
Remove Report
Remove report with report_id
. The report must be owned by the caller.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully deleted this report | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/UZDbBhFPTamJbZGQcwUHEw
Response
204 No Content
Get Ignore Status for Provided Report IDs
Get current ignore status for report and embedded IOCs in provided list of comma-separated report_ids
. report_ids
can be a single id.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_ids}/ignore/bulk
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved report and IOC ignore statuses | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/UZDbBhFPTamJbZGQcwUHEw,UZDbBhFPTamJb123456789/ignore/bulk
Response
{
"results": [
{
"ignore": false,
"report_id": "UZDbBhFPTamJbZGQcwUHEw",
"ioc_id": null
},
{
"ignore": true,
"report_id": "UZDbBhFPTamJb123456789",
"ioc_id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0"
}
]
}
Get Report Ignore Status
Get current ignore status for report with report_id
i.e. whether that report has been disabled such that any watchlist that includes the report will not generate hits for any IOCs in that report. ignore: true
indicates the report is disabled.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/ignore
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved ignore status for this report | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/ignore
Response
{
"ignored": false
}
Ignore Report
Report with report_id
and all contained IOCs will not match future events for any watchlist i.e. that report will be disabled such that any watchlist that includes the report will not generate hits for any IOCs in that report.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/ignore
Request Body
{
"ignore": "<boolean>"
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
ignore REQUIRED
|
Whether to ignore this report | Boolean | true |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated ignore status for this report | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/ignore
Request Body
{
"ignore": true
}
Response
{
"ignore": true
}
Bulk Get Report Ignore Status
Get current ignore status for reports and iocs
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
POST {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/ignore/bulk
Request Body
{
"report_ids": [ "<string>", "<string>" ]
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
report_ids REQUIRED
|
List of report ids to get ignore status | Array |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully returned ignore status | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
POST https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/ignore/bulk
Request Body
{
"report_ids": ["MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38"]
}
Response
{
"results": [
{
"ignore": false,
"report_id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38",
"ioc_id": null
},
]
}
Bulk Ignore Reports and IOCs
All reports and IOCs as defined in the ReportIOCIgnore
list with ignore=True will not match future events for any watchlist. All items with ignore=False will enable matching on future events. A ReportIOCIgnore
that does not define an ioc_id
will effect the entire report (all IOCs).
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/ignore/bulk
Request Body
{
"ignores": [
{
"ignore": "<boolean>",
"report_id": "<string>",
"ioc_id": "<string>",
},
{
"ignore": "<boolean>",
"report_id": "<string>",
"ioc_id": "<string>",
}
]
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
ignore REQUIRED
|
Whether to ignore the specified report and it’s IOCs | Boolean | true , false |
report_id REQUIRED
|
ID of the Report to modify ignore status | String | |
ioc_id |
ID of the IOC to modify ignore status. Defaults to all IOCs if not specified. | String |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated report and IOC ignore statuses | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/UZDbBhFPTamJbZGQcwUHEw,UZDbBhFPTamJb123456789/ignore/bulk
Request Body
{
"ignores": [
{
"ignore": true,
"report_id": "UZDbBhFPTamJbZGQcwUHEw",
"ioc_id": null
},
{
"ignore": false,
"report_id": "UZDbBhFPTamJbZGQcwUHEw",
"ioc_id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0"
}
]
}
Response
{
"results": [
{
"ignore": true,
"report_id": "UZDbBhFPTamJbZGQcwUHEw",
"ioc_id": null
},
{
"ignore": false,
"report_id": "UZDbBhFPTamJbZGQcwUHEw",
"ioc_id": "dbba26e0-d2a2-4de2-9691-a44392dedf38-0"
}
]
}
Re-activate Report
Report with report_id
and all contained IOCs will match future events for all watchlists i.e. if that report has been disabled (ignored), it will be re-enabled such that any watchlist that includes the report will start generating hits for any IOCs in that report. This is not retroactive for events that occurred while the report was ignored.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/ignore
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully reactivated this report | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/ignore
Response
204 No Content
Get Custom Report Severities
Return all custom report severities. Custom report severities effect all watchlists.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/severity
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved custom report severities | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/severity
Response
{
"results": [
{
"report_id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-12345678910",
"severity": 9
},
{
"report_id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-01987654321",
"severity": 4
},
]
}
Get Custom Severity for Report
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Return custom severity for report_id
. This will return 404 error if custom severity doesn’t exist.
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/severity
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved custom report severity | application/json | View example response below |
403 | Forbidden | ||
404 | Not Found | text/plain |
|
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/severity
Response
{
"report_id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38",
"severity": 4
}
Set Custom Report Severity
Adjust the severity of report with report_id
. This will effect all watchlists.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/severity
Request Body
{
"report_id": "<string>",
"severity": "<integer>"
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
report_id REQUIRED
|
ID of the report to modify | String | |
severity REQUIRED
|
Custom severity level | Integer |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated custom report severity | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/severity
Request Body
{
"report_id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38",
"severity": 4
}
Response
{
"report_id": "MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38",
"severity": 4
}
Remove Custom Report Severity
Remove custom severity for report with report_id
.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/severity
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully deleted custom severity for this report | No Content | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/severity
Response
204 No Content
IOCs
Add IOC
Add iocs to report report_id
. The report must be owned by the org_key
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
CREATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:create |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/iocs
Request Body
{
"iocs": [
{
"field": "<string>",
"id": "<string>",
"link": "<string>",
"match_type": "<string>",
"values": [
"<string>"
]
}
]
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
iocs REQUIRED
|
List of IOCv2 to add. | Array |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully added iocs to report | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/iocs
Request Body
{
"iocs": [
{
"id": "1wscvoxlghzd",
"match_type": "equality",
"values": [
"6c89c8c657be4c21ae5ef088a14f2ac7"
],
"field": "process_hash",
"link": null
}
]
}
Response
204 No Content
Delete IOC
Remove report iocs with report_id
and ioc_ids
. ioc_ids
can be a single id or comma seperated list. The report must be owned by the org_key
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/iocs/{ioc_ids}
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully deleted this IOC | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/iocs/dbba26e0-d2a2-4de2-9691-a44392dedf38-0
Response
204 No Content
Get IOC Ignore Status
Get current ignore status for IOC ioc_id
in report report_id
i.e. whether that IOC has been disabled such that the watchlist report that includes the IOC will not generate hits for that IOC.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
READ |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:read |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
GET {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/iocs/{ioc_id}/ignore
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully retrieved ignore status for this IOC | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
GET https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/iocs/dbba26e0-d2a2-4de2-9691-a44392dedf38-0/ignore
Response
{
"ignored": false
}
Ignore IOC
IOC ioc_id
for report report_id
will not match future events for any watchlist i.e. this IOC will be disabled such that the watchlist report that includes the IOC will not generate hits for that IOC.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
UPDATE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:update |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
PUT {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/iocs/{ioc_id}/ignore
Request Body
{
"ignore": true
}
Body Schema
Field | Definition | Data Type | Values |
---|---|---|---|
ignore REQUIRED
|
Whether to ignore this IOC | Boolean | true |
Response
Code | Description | Content-Type | Content |
---|---|---|---|
200 | Successfully updated ignore status for this IOC | application/json | View example response below |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
PUT https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/iocs/dbba26e0-d2a2-4de2-9691-a44392dedf38-0/ignore
Request Body
{
"ignore": true
}
Response
{
"ignore": true
}
Re-activate IOC
IOC ioc_id
for report report_id
and will match future events for all watchlists i.e. this IOC has been disabled and will be re-enabled such that the watchlist report that includes the IOC will start generating hits for this IOC. This is not retroactive for events that occurred while the IOC was ignored.
API Permissions Required
Identity Manager | Permission (.notation name) | Operation(s) | Environment |
---|---|---|---|
Carbon Black Cloud | org.watchlists |
DELETE |
Majority of environments |
VMware Cloud Services Platform | _API.Custom.Detections:org.Watchlists:delete |
N/A - included in permission name | Prod UK and AWS GovCloud (US) |
Request
DELETE {cbc-hostname}/threathunter/watchlistmgr/v3/orgs/{org_key}/reports/{report_id}/iocs/{ioc_id}/ignore
Response
Code | Description | Content-Type | Content |
---|---|---|---|
204 | Successfully reactivated this IOC | application/json | None |
403 | Forbidden | ||
500 | Internal Server Error |
Example
Request
DELETE https://defense.conferdeploy.net/threathunter/watchlistmgr/v3/orgs/ABCD1234/reports/MLRtPcpQGKFh5OE4BT3tQ-dbba26e0-d2a2-4de2-9691-a44392dedf38/iocs/dbba26e0-d2a2-4de2-9691-a44392dedf38-0/ignore
Response
204 No Content
Definitions
Note: Fields with '*' are required unless otherwise noted.Report
{
"id": str*,
"timestamp": int*,
"title": str*,
"description": str*,
"severity": int*,
"link": str,
"tags": [str],
"iocs": IOC,
"iocs_v2": [IOCv2],
"visibility": str
}
IOC
{
"md5": [str],
"ipv4": [str],
"ipv6": [str],
"dns": [str],
"query": [QueryIOC]
}
IOCv2
{
"id": str*,
"match_type": str*,
"values": [str]*,
"field": str,
"link": str
}
QueryIOC
{
"index_type": str,
"search_query": str*
}
ReportSeverity
{
"report_id": str*,
"severity": int*
}
ClassifierWatchlist
A classifier watchlist is one subscribed from a Carbon Black Cloud-published third party threat intelligence Feed.
{
"name": str*,
"classifier_key": str*,
"classifier_value": str*,
"description": str,
"watchlist_id": str,
"tags_enabled": bool,
"alerts_enabled": bool,
"alert_classification_enabled": bool,
"create_timestamp": int,
"last_update_timestamp": int
}
ReportWatchlist
A report watchlist is one created for the organization, constructed from new and existing Reports.
{
"name": str*,
"report_ids": [str]*,
"description": str,
"watchlist_id": str,
"tags_enabled": bool,
"alerts_enabled": bool,
"alert_classification_enabled": bool,
"create_timestamp": int,
"last_update_timestamp": int
}
Watchlist
A Watchlist object may populate one or other of the "classifier"
or "report"
objects but not both.
{
"classifier": ClassifierWatchlist,
"report": ReportWatchlist
}
ClassifierKeyValue
{
"key": str*,
"value": str*
}
WatchlistV2
{
"name": str*,
"description": str,
"id": str,
"tags_enabled": bool,
"alerts_enabled": bool,
"alert_classification_enabled": bool,
"create_timestamp": int,
"last_update_timestamp": int,
"report_ids": [str],
"classifier": ClassifierKeyValue
}
ReportIOCIgnore
{
"ignore": bool*,
"report_id": str*,
"ioc_id": str
}
ReportIOCIgnoreList
{
"ignores": [ReportIOCIgnore]*
}
WatchlistTelemetry
{
"watchlist_id": str*,
"interval": int*,
"hits": int*,
"executions": int*
}
WatchlistTelemetryList
{
"telemetry": [WatchlistTelemetry]*
}
Examples
IOCv2s
IOCs can be written in three different ways: equality, regex, or query. The equality and regex IOCs are run on ingress whereas the query IOC is run using a rolling window once the data reaches the data store. Because the equality and regex IOCs happen on ingress and do not need any part of the query language, these IOC match types perform better than the query IOC.
- An equality IOC will hit when the field value is exactly equal to any of the values.
- A regex IOC will hit if the field value matches on the regular expression provided in the values array.
- A query IOC will hit if the query in the values array matches on a particular document. These IOCs are equivalent to running searches on the Investigate page. Query IOCs are useful when you need query language to determine if the process is important enough to generate a hit.
Which fields can be used in which types of IOCs? Consult the Platform Search Fields documentation for a list of all possible fields to use in Watchlists:
- query IOCs can use any Platform Search field which is documented as Searchable
- equality and regex IOCs can use any Platform Search field, except the Aggregation only fields i.e.
num_devices
,num_events
Equality IOCv2
{
"id": "1af4e5ff584a",
"match_type": "equality",
"field": "process_sha256",
"values": ["68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"],
"link": "https://carbonblack.com"
}
Regular Expression IOCv2
This regular expression looks for double file extensions.
Note: The leading & trailing `/` characters are not used by Watchlists regex IOCs, whereas Search APIs require those characters to know when to interpret a query as regex notation.
{
"id": "1af4e5ff584a",
"match_type": "regex",
"field": "process_name",
"values": [".*\\\\..{3}\\\\..{3}"],
"link": "https://carbonblack.com"
}
Query IOCv2
{
"id": "1af4e5ff584a",
"match_type": "query",
"values": ["process_name:malware.exe"],
"link": "https://carbonblack.com"
}
Last modified on December 18, 2023