Trees and Nodes¶
Get Tree List¶
Get list of Trees by name. This API can also be used to get all the Trees in an account.
Query Parameters¶
- ?name=
Name of the Tree. By default, it performs a contains match. To match the exact name, set the value with double quotes.
- ?layoutState=
- State of the Tree. By default, latest as well as published versions of the Tree will be returned. To only get the latest version, set the value as
DRAFT
.- ?layoutType=
- This is a mandatory field. Reports in Falkonry are also organized in a tree-like structures and use similar layout structure. Set the value of this field to
SIGNAL
to look for only Trees.- ?offset=
Index to start for the next paginated request. Default value is
0
.
- ?limit=
Number of items to include in each page result. There could be fewer items remaining than the specified value.
Example curl request
curl -H "Authorization: Bearer <token>" \ 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts?offset=0&limit=10&layoutType=SIGNAL&layoutState=DRAFT&name="Assets"'
Example with python
import requests URL = 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts?offset=0&limit=10&layoutType=SIGNAL&layoutState=DRAFT&name="Assets"' TOKEN = '<token>' HEADERS = {'Authorization': f'Bearer {TOKEN}'} response = requests.get(URL, headers=HEADERS) print(response.json())
Example response
[ { "id": "989393423730286592", "name": "Assets", "layoutdefinition": "defaultDefinition", "layoutType": "SIGNAL", "version": "2", "systemLayout": false, "layoutState": "DRAFT", "type": "entities.layouts", "tenant": "xxxxxxxxxxxxxxx", "modifiedCount": 0, "publishDetails": { "id": "1000001081909198848", "version": "1", "publishedBy": "989076211361882112", "publishedTime": "2022-07-22T11:27:17.188000Z" }, "context": { "defaultReportId": "989393423742869504" }, "createTime": 1655960174258, "updateTime": 1661430053843, "links": [] } ]
Note
To paginate through results, begin with an offset value of 0 and a limit value of N. To get the next page, set offset value to N, while the limit value stays the same. Subsequent pages start at 2N, 3N, 4N, and so on.
Get a Tree¶
Gets Tree by ID. This API can also be used to get a Tree in an account.
Example curl request
curl -H "Authorization: Bearer <token>" \ "https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/989393423730286592"
Example with python
import requests URL = 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/989393423730286592' TOKEN = '<token>' HEADERS = {'Authorization': f'Bearer {TOKEN}'} response = requests.get(URL, headers=HEADERS) print(response.json())
Example response
{ "id": "989393423730286592", "name": "Assets", "layoutdefinition": "defaultDefinition", "layoutType": "SIGNAL", "version": "2", "systemLayout": false, "layoutState": "DRAFT", "type": "entities.layouts", "tenant": "xxxxxxxxxxxxxxx", "modifiedCount": 0, "publishDetails": { "id": "1000001081909198848", "version": "1", "publishedBy": "989076211361882112", "publishedTime": "2022-07-22T11:27:17.188000Z" }, "context": { "defaultReportId": "989393423742869504" }, "createTime": 1655960174258, "updateTime": 1661430053843, "links": [] }
Create a Tree¶
This API can be used to create a Tree in an account.
Request Payload¶
{ "name": "My first tree" }
Example curl request
curl --location --request POST "https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts"\ --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data-raw '{"name": "My first tree"}'
Example with python
import requests import json URL = 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts' TOKEN = '<token>' HEADERS = {'Authorization': f'Bearer {TOKEN}'} PAYLOAD = { "name": "My first tree" } response = requests.post(URL, headers=HEADERS, data=json.dumps(PAYLOAD)) print(response.json())
Example response
{ "id": "989393423730286592", "name": "My first tree", "layoutdefinition": "defaultDefinition", "layoutType": "SIGNAL", "version": "2", "systemLayout": false, "layoutState": "DRAFT", "type": "entities.layouts", "tenant": "xxxxxxxxxxxxxxx", "modifiedCount": 0, "context": { "defaultReportId": "989393423742869504" }, "createTime": 1655960174258, "updateTime": 1661430053843, "links": [] }
Get Tree Node List¶
Gets list of Tree Nodes by name. This API can also be used to get all the Nodes for a requested Tree in an account.
Query Parameters¶
- ?name=
Name of the Tree Node. By default, it performs a contains match. To match the exact name, set the value with double quotes.
- ?offset=
Index to start for the next paginated request. Default value is
0
.
- ?limit=
Number of items to include in each page result. There could be fewer items remaining than the specified value.
Example curl request
curl -H "Authorization: Bearer <token>" \ 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/yyyyyyyyyyyyy/layoutnodes?offset=0&limit=10&name="Furnace"'
Example with python
import requests URL = 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/yyyyyyyyyyyyy/layoutnodes?offset=0&limit=10&name="Furnace"' TOKEN = '<token>' HEADERS = {'Authorization': f'Bearer {TOKEN}'} response = requests.get(URL, headers=HEADERS) print(response.json())
Example response
[ { "id": "1012335760224018432", "name": "Furnace", "layout": "yyyyyyyyyyyyy", "layoutdefinition": "defaultDefinition", "nodeType": "1", "isRoot": true, "path": [ { "name": "US", "id": "1012335760224018432", "seq": 1 } ], "materializedPath": "Furnace", "modified": true, "label": "labelnode", "versionHistory": { "createVersion": "2" }, "type": "entities.layoutnodes", "tenant": "xxxxxxxxxxxxxxx", "createTime": 1661430053574, "updateTime": 1661430053574, "createdBy": "989076211361882112", "updatedBy": "pod", "archived": false, "links": [] } ]
Note
To paginate through results, begin with an offset value of 0 and a limit value of N. To get the next page, set offset value to N, while the limit value stays the same. Subsequent pages start at 2N, 3N, 4N, and so on.
Get a Tree Node¶
Gets a Tree Node by ID. This API can be used to get a specific node for a requested Tree in an account.
Example curl request
curl -H "Authorization: Bearer <token>" \ "https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/yyyyyyyyyyyyy/layoutnodes/1012335760224018432"
Example with python
import requests URL = 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/yyyyyyyyyyyyy/layoutnodes/1012335760224018432' TOKEN = '<token>' HEADERS = {'Authorization': f'Bearer {TOKEN}'} response = requests.get(URL, headers=HEADERS) print(response.json())
Example response
{ "id": "1012335760224018432", "name": "Furnace", "layout": "yyyyyyyyyyyyy", "layoutdefinition": "defaultDefinition", "nodeType": "1", "isRoot": true, "path": [ { "name": "US", "id": "1012335760224018432", "seq": 1 } ], "materializedPath": "Furnace", "modified": true, "label": "labelnode", "versionHistory": { "createVersion": "2" }, "type": "entities.layoutnodes", "tenant": "xxxxxxxxxxxxxxx", "createTime": 1661430053574, "updateTime": 1661430053574, "createdBy": "989076211361882112", "updatedBy": "pod", "archived": false, "links": [] }
Create a Tree Node¶
This API can be used to create a node for a requested Tree in an account.
Request Payload
To create a root/first level node
{ "name": "My first tree node" }
To create a child node
{ "name": "My first child node", "parent": "<node_id_of_the_parent_node>" }
Example curl request
curl --location --request POST "https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/yyyyyyyyyyyyy/layoutnodes" \ --header 'Authorization: Bearer <token>' --header 'Content-Type: application/json' --data-raw '{ "name": "My first tree node" }'
Example with python
import requests import json URL = 'https://app3.falkonry.ai/api/1.2/accounts/xxxxxxxxxxxxxxx/layouts/yyyyyyyyyyyyy/layoutnodes' TOKEN = '<token>' HEADERS = {'Authorization': f'Bearer {TOKEN}'} PAYLOAD = { "name": "My first tree node" } response = requests.get(URL, headers=HEADERS, data=json.dumps(PAYLOAD)) print(response.json())
Example response
{ "id": "1012335760224018432", "name": "My first tree node", "layout": "yyyyyyyyyyyyy", "layoutdefinition": "defaultDefinition", "nodeType": "1", "isRoot": true, "path": [], "materializedPath": "My first tree node", "modified": true, "label": "labelnode", "type": "entities.layoutnodes", "tenant": "xxxxxxxxxxxxxxx", "createTime": 1661430053574, "updateTime": 1661430053574, "createdBy": "989076211361882112", "updatedBy": "pod", "archived": false, "links": [] }