Actors

To create, update, or retrieve Actors from the ThreatStream platform.

Request

/api/v1/actor/

HTTP Methods: GET, POST, PATCH

Create a new Actor POST /api/v1/actor/
Update the specified Actor PATCH /api/v1/actor/{id}/
Get details of the specified Actor GET /api/v1/actor/{id}/
Get a list of Actors

Anomali recommends to use the /api/v1/threat_model_search endpoint to retrieve a list of Actors. See Threat Model Search for details.

For example,

GET /api/v1/threat_model_search/?model_type=actor

Get a list of Actors associated with a specified observable value or observable ID

GET /api/v1/actor/associated_with_intelligence/?value={value}

GET /api/v1/actor/associated_with_intelligence/?ids={comma_separated_id_list}

For example,

GET /api/v1/actor/associated_with_intelligence/?value=google.com returns all Actors associated with google.com.

Get a list of the specified entity type (such as Malware, Campaign, and so on) that is associated with the specified Actor

GET /api/v1/actor/{id}/<entity_type>/

For example,

GET /api/v1/actor/234673/malware/ returns all malware objects associated with the specified actor.

Get a list of observables associated with the specified Actor GET /api/v1/actor/{id}/intelligence/

 

Response

Format: JSON

Attributes: See the table below

Notes:
  • 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
aliases string Other names by which the Actor is known.
campaigns related (see item 1 in the Notes above)

Campaigns associated with the Actor.

When creating an Actor, specify the Campaign ID. See Campaigns.

circles related (see item 1 in the Notes above) IDs of the trusted circles with which the Actor is shared.
created_ts

datetime

Time stamp of when the Actor 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

Free-form text associated with the Actor.

incidents related (see item 1 in the Notes above)

Incidents associated with the Actor.

When creating an Actor, specify the Incident ID. See Incidents.

intelligence related (see item 1 in the Notes above)

Observables associated with the Actor on the ThreatStream platform.

When creating an Actor, specify the observable ID. See Intelligence.

is_public boolean

Whether the Actor is public or private (including belonging to a trusted circle).

False—if the Actor is private or belongs to a Trusted Circle

True—if the Actor is public

Default: False

is_team boolean

Whether the Actor is a team or known to work as an individual (as specified in the Team check box in the UI).

True—Actor is a team

False—Actor is an individual

Default: False

limit numeric

The limit variable controls the number of results returned every time an API call is made; the total number of results may be much larger than returned in one API call.

If limit is not specified, 20 results are returned with each API call. Specifying limit=0 will return up to a maximum of 1000 results (if available).

modified_ts datetime

Time stamp of when the Actor 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 Actor.

Actor name is associated with your organization. Therefore, the name must be unique within your organization. However, two Actors 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 for creating an Actor.

publication_status string

An Actor can be in new, pending_review, review_requested, reviewed, published statuses.

Note: An Actor 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 true when the entity is remote.

signatures related (see item 1 in the Notes above)

Signatures associated with the Actor.

When creating an Actor, 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 skip_associations parameter to true. This parameter is only applicable to ThreatStream OnPrem.

For example,

GET /api/v1/actor/{id}/?skip_associations=true

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 skip_intelligence parameter to true. This parameter is only applicable to ThreatStream OnPrem.

For example,

GET /api/v1/actor/{id}/?skip_intelligence=true

soph_type string

IDs of the sophistication type associated with the Actor. To obtain a list of IDs for sophistication type, make an API call to /api/v1/actorsophisticationtype/

This attribute specifies the level of sophistication observed about the Actor. The Sophistication levels available on ThreatStream follow the Threat Actor Sophistication Vocabulary for STIX.

soph_desc string Free-form text description about the soph_type attribute of the Actor.
source_created datetime Time stamp of when the Actor was created by its original source.
source_modified datetime Time stamp of when the Actor was last updated by its original source.
start_date datetime

Specify the time when this Actor 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.

tags list

Tags assigned to the Actor.

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 Actor—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 Actor.

When creating an Actor, specify the TTP ID. See TTPs (Tactics, Techniques, and Procedures).

victims related (see item 1 in the Notes above)

Victim type associated with the Actor.

When creating an Actor, specify the ID of the Victim type. To obtain a list of Victim types, make an API call to /api/v1/victimtype/.

Examples

  1. To update an existing Actor whose ID is 223:

    Copy
    curl --request PATCH --data '{"name": "another test actor", "tlp": "orange", "victims": [13]}' 'https://api.threatstream.com/api/v1/actor/223/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json'
  2. To get details of an existing Actor whose ID is 223:

    Copy
    curl 'https://api.threatstream.com/api/v1/actor/223/' -H 'Authorization: apikey <username>:<api_key>'
  3. To get the first 10 Actors from ThreatStream:

    Copy
    curl 'https://api.threatstream.com/api/v1/actor/?limit=10' -H 'Authorization: apikey <username>:<api_key>'
  4. To create a private Actor and set Victim IDs to 13 (for "Health Care") and 15 (for "Insurance"):

    Copy
    curl --request POST --data '{"name": "test actor", "tlp": "red",  "tags": ["bad actor", "dummy tag"], "victims": [13, 15], "publication_status": "published"}'  "https://api.threatstream.com/api/v1/actor/" -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json'
  5. (Only on ThreatStream OnPrem) To get details of a remote Actor whose ID is 253:

    Copy
    curl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/actor/253/?remote_api=true' -H 'Authorization: apikey <username>:<api_key>'
  6. (Only on ThreatStream OnPrem) To skip associations when retrieving details of a local Actor with ID 234678:

    Copy
    curl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/actor/234678/?skip_associations=true' -H 'Authorization: apikey <username>:<api_key>'