# 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/v3API 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:
- If
API Type
is set in the live node, it is used - Else if
Source
is set in the live node, it is used - Else if
API Type
is set in the graph root, it is used - 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:
- If
API Type
is set in the live node, it takes priority overSource
- Else, if
Source
is defined, it is used - Else if
API Type
is set in the graph root, it is used - 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:
- Credentials stored in
Live node
takes priority over credentials stored in thegraph root
. - If
API Key
is defined, it takes priority overPassword
: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.