# Live Attributes

Live attributes are stored inside a graph node or inside the graph root. Each live attribute manages a specific feature of the plugin. Some of them can be set in both graph root & graph nodes. Here is the list of all Live attributes & each one's purpose:

# Refresh

live.refresh - Graph attribute

Defines time interval between to update cycles.

Value has to be a number corresponding to the interval in seconds.

INFO

If no value is set or if value is not well-formed, default value is set.

Default value: 10 (seconds)

# API

live.api - Graph & Node attribute

Defines generic API prefix in case of a relative path defined in API Object.

Ex: A Live node defining:

  • API = https://www.api.com/v3

  • API Object = /path/to/endpoint

Will request the url https://www.api.com/v3/path/to/endpoint

Priority rules: API defined in a live node takes priority over API defined in the graph root.

# API Type

live.apitype - Graph & Node attribute

Defines a way to acces data from specific defined APIs.

If set, API Type overrides Source.

Default value is raw meaning that API Type is not set & value stored in Source is used

INFO

Priority rules:

  1. If API Type is set in the live node, it is used
  2. Else if Source is set in the live node, it is used
  3. Else if API Type is set in the graph root, it is used
  4. Else, nothing is done & API raw response is considered as exploitable data.

# Object

live.data - Node attribute

Defines the remote API to request.

Value is the path to the API.

The path can be an absolute or a relative url.

INFO

If Object is not set but API ID is, corresponding live node is malformed & is fired from update loop.

The following error is thrown: There is no data to reference

In case of a relative url, be careful of the priorities rules of API live attribute

# Source

live.source - Graph & Node attribute

Defines the path to retrieve data from raw response to exploitable data.

Value must be the list of keys from API response object root to the target.

Keys must be separated by a .

Ex:data.targettedData

Priority rules:

  1. If API Type is set in the live node, it takes priority over Source
  2. Else, if Source is defined, it is used
  3. Else if API Type is set in the graph root, it is used
  4. Else, nothing is done & API raw response is considered as exploitable data.

# API ID

live.id - Node attribute

Defines an identifier allowing data parsed by a Live node to be accessible by other Live nodes.

This reference can be used in Live Properties of all Live nodes to access data parsed by this one.

Value is a string that is used as a property of data to be shared with all Live Properties.

Value has to be unique to prevent errors.

INFO

If API ID is not set, data fetched by the corresponding Live node is not accessible by others.

The following error is thrown: No reference for data: API will not be accessible from another graph element.

If API ID is set but API Object is not, corresponding Live node is malformed & is fired from update loop.

The following error is thrown: There is no data to reference.

# Credentials

Credentials are specific Live Attributes that are optional & can be defined in both graph root & graph node.

Credentials store Authorization data to request protected APIs.

Priority rules:

  1. Credentials stored in Live node takes priority over credentials stored in the graph root.
  2. If API Key is defined, it takes priority over Password:Password pair.

# API Key

live.apikey - Graph & Node attribute

Defines apikey in case of an API which asks apikey authorization.

If defined, apikey takes priority over username:password pair.

# Username

live.username - Graph & Node attribute

Defines username in case of API asks username:password pair authorization.

# Password

live.password - Graph & Node attribute Defines password in case of API asks username:password pair authorization.