Search Observables

thehive.search_observables
ActionBusiness appsconnection required

Calls the TheHive API with the connection's credentials.

Search observables by value, type, IOC flag or a raw filter.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
TheHive
Secret shape
the TheHive API key, or {"api_key": "…"}
Config it needs
base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
data
Keep observables whose value contains this text.
stringNo——8.8.8.8
data_type
Keep observables of exactly this type, e.g. ip or domain.
stringNo———
ioc
Keep only observables marked as indicators of compromise.
booleanNo———
filters
A raw TheHive filter expression as JSON, e.g. {"_in": {"_field": "status", "_values": ["New", "InProgress"]}}. It is combined with the fields above using _and.
objectNo——{"_in":{"_field":"status","_values":["New","InProgress"]}}
sort_by
Field to sort by, using TheHive's own field name, e.g. _createdAt.
stringNo——_createdAt
sort_order
Sort direction applied to 'sort_by'.
stringNodescone of "asc", "desc"—
start
Index of the first record to return, counting from 0.
numberNo0≥ 0—
limit
How many records to return in this page.
numberNo501–1000—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "data": "8.8.8.8",
  "filters": {
    "_in": {
      "_field": "status",
      "_values": [
        "New",
        "InProgress"
      ]
    }
  },
  "limit": 50,
  "sort_by": "_createdAt",
  "sort_order": "desc",
  "start": 0
}

Output

One shape.

result

FieldTypeExample
items[]._id
TheHive's internal id for the observable.
string—
items[].dataType
The observable type, e.g. ip, domain, hash or mail.
string—
items[].data
The observable value itself.
string—
items[].message
The analyst note stored with the observable.
string—
items[].tlp
Traffic Light Protocol level as TheHive's numeric code.
number—
items[].tlpLabel
The label TheHive shows for that TLP level.
string—
items[].pap
Permissible Actions Protocol level as a numeric code.
number—
items[].tags
The tags carried by the observable.
array—
items[].ioc
True when the observable is marked an indicator of compromise.
boolean—
items[].sighted
True when the observable has been seen in the environment.
boolean—
items[].startDate
When the observable was first seen, in epoch milliseconds.
number—
items[]._createdAt
When the observable was created, in epoch milliseconds.
number—
count
How many observables this page returned.
number—
{
  "count": 0,
  "items": [
    {
      "_createdAt": 0,
      "_id": "",
      "data": "",
      "dataType": "",
      "ioc": false,
      "message": "",
      "pap": 0,
      "sighted": false,
      "startDate": 0,
      "tags": [],
      "tlp": 0,
      "tlpLabel": ""
    }
  ]
}

See Search Observables run in a workflow.

In a technical demo we add the TheHive connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.