Skip to content

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": []
}