Campaigns
To create, update or retrieve existing Campaigns from the ThreatStream platform.
Request
/api/v1/campaign/
HTTP Methods: GET, POST, PATCH
| Create a new Campaign | POST /api/v1/campaign/ |
| Update the specified Campaign | PATCH /api/v1/campaign/{id}/ |
| Get details of the specified Campaign | GET /api/v1/campaign/{id}/ |
| Get a list of Campaigns |
Anomali recommends to use the For example, GET |
| Get a list of Campaigns associated with the specified observable value or observable ID |
GET GET For example, GET |
| Get a list of the specified entity type (such as Malware, Incident, and so on) associated with the specified Campaign |
GET For example, GET |
| Get a list of observables associated with the specified Campaign | GET /api/v1/campaign/{id}/intelligence/ |
Response
Format: JSON
Attributes: See the table below
- Attributes with "related" data type return 0 to N number of values. For example, if a threat model entity belongs to more than one trusted circle, both will be returned.
For information on limiting results and returning large datasets while mitigating performance impacts, see Limiting Results.
Attributes
| Attribute | Type | Description |
|---|---|---|
| actors | related (see item 1 in the Notes above) |
Actor names associated with the Campaign. When creating a Campaign, specify the Actor ID. See Actors . |
| circles | related (see item 1 in the Notes above) | All Trusted Circles to which the Campaign belongs. |
| created_ts |
datetime |
Time stamp of when the Campaign was created on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| description | string |
The free-form text associated with the Campaign (as specified in the Description field in the UI). |
| end_date | datetime |
Specify the time when this Campaign is known to have ended. Date must be specified in this format: YYYYMMDDThhmmss and in UTC format. where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| incidents | related (see item 1 in the Notes above) |
Incidents associated with the Campaign. When creating a Campaign, specify the Incident ID. See Incidents. |
| intelligence | related (see item 1 in the Notes above) |
Observables associated with the Campaign on the ThreatStream platform. When creating a Campaign, specify the observable ID. See Intelligence. |
| is_public | boolean |
Whether the Campaign is public or private (including belonging to a trusted circle). False—if the Campaign is private or belongs to a Trusted Circle True—if the Campaign is public Default: False |
| limit | numeric |
The If |
| modified_ts | datetime |
Time stamp of when the Campaign was last updated on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| name | string |
Name of the Campaign. Campaign name is associated with your organization. Therefore, the name must be unique within your organization. However, two Campaigns with the same name can exist on ThreatStream as long as they belong to different organizations. The name can contain up to 255 characters.
Note: This is a required parameter.
|
| publication_status | string |
A Campaign can be in new, pending_review, review_requested, reviewed, published statuses. Note: A Campaign must be in published status for it to be visible to other users outside your organization.
|
| remote_api (for ThreatStream OnPrem only) | boolean |
Whether the entity is remote (stored on Cloud). Value returned for this attribute is |
| signatures | related (see item 1 in the Notes above) |
Signatures associated with the Campaign. When creating a Campaign, specify the Signature ID. See Signatures. |
|
skip_associations (On ThreatStream OnPrem only) |
boolean |
By default, up to 1000 threat model and observable associations are returned with GET requests for details of a threat model entity on ThreatStream OnPrem. When a threat model entity has a large number of associations, association retrieval can take a long time and impact performance. Therefore, Anomali recommends setting the For example, GET |
|
skip_intelligence (On ThreatStream OnPrem only) |
boolean |
By default, up to 1000 threat model and observable associations are returned with GET requests for details of a threat model entity on ThreatStream OnPrem. When a threat model entity has a large number of associations, association retrieval can take a long time and impact performance. Therefore, Anomali recommends setting the For example, GET |
| source_created | datetime | Time stamp of when the Campaign was created by its original source. |
| source_modified | datetime | Time stamp of when the Campaign was last updated by its original source. |
| start_date | datetime |
Specify the time when this Campaign was first known to be active. Date must be specified in this format: YYYYMMDDThhmmss and in UTC format. where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| status | string |
Status of the Campaign. When creating a Campaign, specify the Status ID. Use /api/v1/campaignstatus/ to obtain a list of Campaign statuses. |
| tags | list |
Tags assigned to the Campaign. A tag is a meaningful name or any other string value assigned to identify the information. For example, spear phishing,exploitation. |
| tlp | string |
Traffic Light Protocol designation for the Campaign—red, amber, amber+strict, green, clear. Note: The value is case-sensitive and must be specified in lower case.
|
| ttps | related (see item 1 in the Notes above) |
TTP (Threat Bulletins) associated with the Campaign. When creating a Campaign, specify the TTP ID. See TTPs (Tactics, Techniques, and Procedures). |
| victims | related (see item 1 in the Notes above) |
Victim type associated with the Campaign. When creating a Campaign, specify the ID of the victim type. To obtain a list of victim types, make an API call to |
Examples
-
To create a private Campaign associated with an observable whose ID is 165546:
Copycurl --request POST --data '{"name": "dummy test campaign", "tlp": "red", "tags": ["big campaign", "dummy tag"], "intelligence": [165546], "publication_status": "published"}' 'https://api.threatstream.com/api/v1/campaign/' -H 'Content-Type:application/json' -H 'Authorization: apikey <username>:<api_key>' -
To update an existing Campaign whose ID is 1062:
Copycurl --request PATCH --data '{"name": "another dummy test campaign", "tlp": "orange"}' 'https://api.threatstream.com/api/v1/campaign/1062/" -H "Content-Type:application/json' -H 'Authorization: apikey <username>:<api_key>' -
To get the detail of an existing Campaign whose ID is 1062:
Copycurl 'https://api.threatstream.com/api/v1/campaign/1062/' -H 'Authorization: apikey <username>:<api_key>' -
To get the first 10 Campaigns from ThreatStream:
Copycurl 'https://api.threatstream.com/api/v1/campaign/?limit=10' -H 'Authorization: apikey <username>:<api_key>' -
(Only on ThreatStream OnPrem) To get the detail of a remote Campaign whose ID is 1063:
Copycurl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/campaign/1063/?remote_api=true' -H 'Authorization: apikey <username>:<api_key>' -
(Only on ThreatStream OnPrem) To skip associations when retrieving details of a local Campaign with ID 234678:
Copycurl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/campaign/234678/?skip_associations=true' -H 'Authorization: apikey <username>:<api_key>