GitHubContribute in GitHub: Edit online

Manta Flow (Repository) Query API REST

Overview

The Manta Flow (Repository) Query API is an HTTP-based REST interface for Manta Flow Server. The operations described here reference data types that are detailed at the end of the page.

An interactive OpenAPI (Swagger) version of this documentation is also available at http(s)://<MANTA_SERVER_BASE_URL>/swagger-ui/.

Operations Description

General Notes

Each operation is run by sending an HTTP request to the Manta Flow server. The URLs mentioned later are relative to the server context root. For example, if the context root is http://localhost:8080/manta-dataflow-server and the relative URL is /public/v1/revision/last, then the request URL is http://localhost:8080/manta-dataflow-server/public/v1/revision/last.

Get Last Revision

Description Returns the last revision (committed or not)
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/revision/last
Method GET

Response

Type

application/json

Body

<revision>
  • <revision> : Revision

The last revision

Get Revision List

Description Returns list of revisions (committed or not)
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/revision/list
Method GET

Response

Type

application/json

Body

<revisions>
  • <revisions>: Array of Revision

Array of all revisions

Get Root Node

Description

Returns the root node

User role

ROLE_REPOSITORY_READ

Availability

Removed as of R42

To retrieve resources, use the Get All Resources endpoint ( /public/v1/rev/{rev}/resources) instead.

Request

URL /public/v1/rev/{rev}/root
Method GET
Path variables (required) <rev> : number Revision number

Response

Type

application/json

Body

<root>
  • <root> : RootNode

Root node

Get Node by ID

Description Returns the node with the given ID
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/{rev}/nodes/{id}
Method GET
Path variables (required) <rev> : number Revision number
<id> : number The requested node ID

Response

Type

application/json

Body

<node>
  • <node> : Node

Node with the given ID

Get Path by ID

Description Returns the path of the node with the given ID
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/{rev}/nodes/{id}/path
Method GET
Path variables (required) <rev> : number Revision number
<id> : number ID of the node whose path is being requested
URL parameters (optional) selectedLayer : string Perspective from which the path should be; if not set, the physical layer is used

Response

Type

application/json

Body

<path>
  • <path> : Array of node

Path of the node with the given ID; the first item is the node with the given ID, the last one is the node closest to the root

Get Node Parent

Description Returns the parent node of the given node
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\<rev>/nodes/\<id>/parent
Method GET
Path variables (required) <rev> : number The revision number
<id> : number ID of the node whose parent is to be returned
URL parameters (optional) selectedLayer : string Perspective from which the parent should be; if not set, the physical layer is used

Response

Type

application/json

Body

<node>
  • <node> : Node

Parent node of the node with the given ID

Get Node Children

Description Returns the child nodes of the given node
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\ /nodes/\ /children
Method GET
Path variables (required) <rev> : number The revision number
<id> : number ID of the node whose children are to be returned
URL parameters (optional) name : string Node name case-sensitive filter on exact match; if set, only the child nodes with this name will be returned
type : string Node type case-sensitive filter on exact match; if set, only the child nodes with this type will be returned

Response

Type

application/json

Body

<children>

  • <children> : Array of node

The returned child nodes

Get Node Resource

Description Returns the resource of the given node
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\<rev>/nodes/\<id>/resource
Method GET
Path variables (required) <rev> : number The revision number
<id>: number ID of the node whose resource is to be returned

Response

Type

application/json

Body

<resource>
  • <resource> : Resource

Resource of the node with the given ID

Get Node Attributes

Description Returns the attributes of the given node
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\<rev>/nodes/\<id>/attributes
Method GET
Path variables (required) <rev> : number The revision number
<id> : number ID of the node whose attributes are to be returned

Response

Type

application/json

Body

<attributes>
  • <attributes> : Array of attribute

Attributes of the node with the given ID

Get Node Attribute

Description Returns the attribute of the given node with the given key
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\<rev>/nodes/\<id>/attributes/\<key>
Method GET
Path variables (required) <rev> : number The revision number
<id> : number ID of the node whose attribute is to be returned
<key> : string Key of the attribute that is to be returned

Response

Type

application/json

Body

<attribute>
  • <attribute> : Attribute

Attribute of the node with the given ID

Get Flows

Description Returns the edges of the given node
User role ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/nodes/<id>/flows

Method

GET

Path variables (required)

<rev> : number

The revision number

<id> : number

ID of the node whose edges are to be returned

URL parameters (optional)

<dir> : string

Direction of edges to be returned

  • If "in", only incoming edges are returned

  • If "out", only outgoing edges are returned

  • If not set, both incoming and outgoing edges are returned

<type> : string

Type of edges to be returned

  • If "direct", only direct edges are returned

  • If "filter", only filter edges are returned

  • If not set, both direct and filter edges are returned

Response

Type

application/json

Body

<edges>
  • <edges> : Array of flow

Edges of the given node

Note: Nodes without edges return an empty array: [ ]; for the best results, issue GET Flows against the lowest level node of any hierarchy where edges are typically established—for example, use "Column" node IDs, not "Table" or higher node IDs

Get All Resources

Description Returns all the resources in the repository
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/{rev}/resources
Method GET
Path variables (required) <rev> : number Revision number

Response

Type

application/json

Body

<resources>
  • <nodes> : List of resources

Found resources

Get Top Resources

Description Returns all top resources in the repository by layer (same behavior as for resources in viewer)
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/{rev}/topResources
Method GET
Path variables (required) <rev> : number Revision number
Path variables (required) <selectedLayer> : string Resource layer

Response

Type

application/json

Body

<resources>
  • <nodes> : List of top lvl resources

Found resources

Get Resource by Name

Description Returns the resource with the given name
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\<rev>/resources/search-by-name
Method GET
Path variables (required) <rev> : number The revision number
URL parameters name: string (required) The requested resource name

Response

Type

application/json

Body

<resource>
  • <node> : Resource

Resource with the given name

Get Resource Children

Description Returns top-level nodes of the resource with the given ID
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/\<rev>/resources/\<id>/children
Method GET
Path variables (required) <rev> : number The revision number
<id> : number ID of the resource whose top-level nodes are to be returned
URL parameters (optional) name : string Node name case-sensitive filter that returns exact matches; if set, only nodes with this name will be returned
type : string Node type case-sensitive filter that returns exact matches; if set, only nodes with this type will be returned

Response

Type

application/json

Body

<nodes>

  • <nodes> : Array of node

The returned top-level nodes of the resource

Find Nodes by Name

Description Finds nodes matching the given name; the result is limited to a maximum of 100 nodes
User role ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/nodes/search-by-name

Method

GET

Path variables (required)

<rev> : number

The revision number

URL parameters

name: string (required)

Name of the nodes to search for

type : string (optional)

Type of nodes to search for; if set, only nodes of this type will be found

sensitive : boolean (optional)

  • true if the search has to be case sensitive

  • false if not set otherwise

Response

Type

application/json

Body

<nodes>

  • <nodes> : Array of node

The nodes found

Find Node by Path

Description Finds the node with the given path
User role ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/nodes/search-by-path

Method

POST

Path variables (required)

<rev> : number

The revision number

Body

<path>

  • <path> : Array of node

Nodes representing the path of the node to be found

The path entry order is reversed, so the first entry represents the node being searched for and the last one stands for the topmost node below the resource (not the resource itself)

The required node attributes are name and type; for the last path entry (that is, the topmost node), the resource attribute is also required

[
  {"name": "total_am", "type": "Column", "resource":"Teradata"},
  {"name": "CONTRCT_SALDO_DAY", "type": "Table", "resource":"Teradata"},
  {"name": "PROD_MART", "type": "Database", "resource":"Teradata"},
  {"name": "192.168.0.17", "type": "Server", "resource":"Teradata"}
]

Response

Type

application/json

Body

<node>

  • <node> : Node

The node found

Traverse

Description

Traverses the graph and returns information about the nodes and edges visited

The traversion start nodes can be set either by node paths in the request body or node IDs in the request URL

User role

ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/traverse/<format>

Method

POST

Body

<paths>

  • <paths> : Array of array of node

Paths representing the fully-qualified nodes the graph has to be traversed from

For each path, the first node is the lowest level node and the last one is the root-closest node

For each node, the following attributes are relevant: name, type, and resource

Required if the nodeids request parameter is not set

[
  [
    {"name": "total_am", "type": "Column", "resource":"Teradata"},
    {"name": "CONTRCT_SALDO_DAY", "type": "Table", "resource":"Teradata"},
    {"name": "PROD_MART", "type": "Database", "resource":"Teradata"},
    {"name": "192.168.0.17", "type": "Server", "resource":"Teradata"}
  ],
  [
    {"name": "src_syst_cd", "type": "Column", "resource":"Teradata"},
    {"name": "OPER_CONTRCT_KEY", "type": "Table", "resource":"Teradata"},
    {"name": "PROD_DB4", "type": "Database", "resource":"Teradata"},
    {"name": "192.168.0.17", "type": "Server", "resource":"Teradata"}
  ]
]

Path variables (required)

rev : number

The revision number

format : string

The output format; only these values are allowed

  • csv—for CSV output format

  • graphson—for JSON format

URL parameters (optional)

nodeIds : Array of long

IDs of the node the traversion has to start from; required if the request body is empty

indirect : boolean

  • If true, both DIRECT and FILTER edges will be traversed

  • If false or not set, only DIRECT edges will be traversed

depth : number

The traverse depth; unlimited if set to 0 or not set

dir : string

The traverse direction; only these values are allowed

  • forward—only outgoing (downstream) edges will be traversed

  • backward—only incoming (upstream) edges will be traversed

  • both or not set—both incoming and outgoing edges will be traversed

filter: Array of string

IDs of active filters; any combination of resource and custom filters is supported

  • If set, the allowed parameter is ignored

  • If not set, no filters will be applied

To set an n-sized array of values, put this parameter in the URL n-times; for example, to set ["Oracle DDL", "Oracle PL/SQL"], use ...&filter=Oracle%20DDL&filter=Oracle%20PL/SQL&...

allowed: Array of string

IDs of allowed resources

  • If the filter parameter is set, this one is ignored

  • If this parameter is not set, no resource restrictions will be applied

To set an n-sized array of values, put this parameter in the URL n-times; for example, to set ["Oracle", "MSSQL"], use ...&allowed=Oracle&allowed=MSSQL&...

Response

Type

application/json

Body

If the "format" parameter is "graphson"

{"graph" : <graph>}

  • <graph> : Graph

JSON of the graph part visited

If the "format" parameter is "csv"

CSV representation of the graph part visited

Get Number of Nodes

Description Returns the number of nodes under the root node (including the root itself) satisfying the specified constraints
User role ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/nodes/count

Method

POST

Type

application/json

Path variables (required)

<rev> : number

The revision number

Body (JSON)



path : Array of node

Representation of the root node—the node whose ascendants are supposed to be counted (including the node itself)

The path entry order is bottom-up, so the first entry represents the root node and the last one stands for the topmost node below the resource (not the resource itself)

The required node attributes are name and type; for the last path entry (that is, the topmost node), the resource attribute is also required

If not specified, every node in the graph that satisfies the constraints is counted

type : string

Name of a node type; only nodes with this type are counted

resource : string

Name of a resource; only nodes from this resource are counted

Response

Type application/json
Body (JSON) count : number Number of nodes that satisfy the constraints in the request

Example Request

A request for the number of tables in the PostgreSQL database dbname on the servername server. It is not necessary to specify the resource here; it is just part of the illustration.

{
    "path": [
        {
            "id": 120628,
            "name": "dbname",
            "type": "Database",
            "resource": "PostgreSQL",
            "parent": 120624
        },
        {
            "id": 120624,
            "name": "servername",
            "type": "Server",
            "resource": "PostgreSQL",
            "parent": null
        }
    ],
    "type": "Table",
    "resource": "PostgreSQL"
}

Example Response

{
    "count": 15
}

Get Number of Edges

Description Returns the number of edges; it only counts edges going from or to a node that lies below the root node (including the root itself) and satisfies the specified constraints
User role ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/edges/count

Method

POST

Type

application/json

Path variables (required)

<rev> : number

The revision number

Body (JSON)



path : Array of node

Representation of the root node—the node whose ascendants must interfere with an edge to be counted (including the node itself)

The path entry order is reversed, so the first entry represents the root node and the last one stands for the topmost node below the resource (not the resource itself)

The required node attributes are name and type; for the last path entry (that is, the topmost node), the resource attribute is also required

If not specified, every edge is counted

edge : JSON object

see EdgeConstraints

node : JSON object

see NodeConstraints

EdgeConstraints

dir : string

Direction of edges to be counted

  • If “in”, only incoming edges are counted

  • If “out”, only outgoing edges are counted

  • If not set, both incoming and outgoing edges are counted

The direction of an edge is relative to the node that satisfies the constraint (it makes no sense to specify edge direction if there are no node constraints and the root node is not specified)

type : string

Type of edges to be counted

  • If "direct", only direct edges are counted

  • If "filter", only filter edges are counted

  • If not set, both direct and filter edges are counted

NodeConstraints

type : string

Name of a node type; only edges going to/from this node type are counted

resource : string

Name of a resource; only edges going to/from a node from this resource are counted

Response

Type application/json
Body (JSON) count : number Number of edges that satisfy the constraints in the request

Example Request

A request for the number of edges that come from a column in a PostgreSQL database called dbname.

{
    "path": [
        {
            "id": 120628,
            "name": "dbname",
            "type": "Database",
            "resource": "PostgreSQL",
            "parent": 120624
        },
        {
            "id": 120624,
            "name": "servername",
            "type": "Server",
            "resource": "PostgreSQL",
            "parent": null
        }
    ],
    "edge": {
        "dir": "out",
        "type": "direct"
    },
    "node": {
        "type": "Coulumn"
    }
}

Example Response

{
    "count": 15
}

Get Nodes with the Most or Fewest Edges

Description

Finds nodes with the most or fewest edges (based on the “function” parameter)

Only returns nodes below the specified node that satisfy the specified constraints

Edges not satisfying the specified constraints are ignored

User role

ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/nodes/by-edge-count/<function>

Method

POST

Type

application/json

Path variables (required)


<rev> : number

The revision number

<function> : string

Specifies whether nodes with most (“max”) or fewest (“min”) edges should be returned

The only values allowed are “min” or “max”

Body (JSON)





path : Array of node

Representation of the root node—nodes with most/fewest edges across the root’s ascendants are returned (the root node itself is included in the ascendants)

The path entry order reversed, so the first entry represents the root node and the last one stands for the topmost node below the resource (not the resource itself)

The required node attributes are name and type; for the last path entry (i.e., the topmost node), the resource attribute is also required

If not specified, the whole graph is searched

edge : JSON object

See EdgeConstraints

node : JSON object

See NodeConstraints

includeInner : boolean

Whether inner nodes are included

Every edge is supposed to point from one leaf to another, therefore, the “fewest” method always returns all inner nodes despite the fact that their children might have lots of edges

Default: false (returns leaves only)

numToReturn : number

Number of nodes to be returned

The method might return more nodes than numToReturn; if there are more nodes with the same number of edges (thus, it is not clear which one to choose), it returns all of them; see the “max” property to limit this

Default: 1

max : number

Maximum number of nodes that can be returned

The method usually returns numToReturn nodes, but if there are more nodes with the same number of edges, it returns all of them, even if the result might contain more than numToRerturn nodes; the “max” property allows the number of returned nodes to be limited, even in such cases

If negative, it does not limit the node count

Default: 10

NodeConstraints

type : string

Name of a node type; only nodes with this type are returned

resource : string

Name of a resource; only nodes with this resource are returned


EdgeConstraints

dir : string

Direction of edges that are counted

  • If “in”, only incoming edges are counted

  • If “out”, only edges going out from the node are counted

  • If not set, both incoming and outgoing edges are counted

type : string

Type of edges to be counted

  • If "direct", only direct edges are counted

  • If "filter", only filter edges are counted

  • If not set, both direct and filter edges are counted

Response

Type

application/json

Body

count : Array of NodeWithEdgeCount

Nodes and the number of edges they have

If requesting the nodes with the most edges, they are ordered from the node with the most edges to lower values; if asking for the nodes with the fewest edges, it’s the other way around

NodeWithEdgeCount

node

Path of a node; the first item is the node with the given ID, the last one is the node closest to the root

edgeCount

Number of edges that go from/to the node and satisfy the specified constraints

Example Request

A request for one column with the most (or the fewest, depending on the URL) direct incoming edges in a PostgreSQL database called dbname.

{
    "path": [
        {
            "id": 120628,
            "name": "dbname",
            "type": "Database",
            "resource": "PostgreSQL",
            "parent": 120624
        },
        {
            "id": 120624,
            "name": "servername",
            "type": "Server",
            "resource": "PostgreSQL",
            "parent": null
        }
    ],
    "node": {
        "type": "Column" 
    },
    "edge": {
        "dir": "in",
        "type": "direct"
    }
    "includeInner": false,
    "numToReturn": 2,
    "max": 10
}

Example Response

[
    {
        "node": [
            {
                "id": 134516,
                "name": "columnname",
                "type": "Column",
                "resource": "PostgreSQL",
                "parent": 134512
            },
            {
                "id": 134512,
                "name": "tablename",
                "type": "Table",
                "resource": "PostgreSQL",
                "parent": 120632
            },
            {
                "id": 120632,
                "name": "public",
                "type": "Schema",
                "resource": "PostgreSQL",
                "parent": 120628
            },
            {
                "id": 120628,
                "name": "dbname",
                "type": "Database",
                "resource": "PostgreSQL",
                "parent": 120624
            },
            {
                "id": 120624,
                "name": "servername",
                "type": "Server",
                "resource": "PostgreSQL",
                "parent": null
            },
            {
                "id": 120244,
                "name": "PostgreSQL",
                "type": "PostgreSQL",
                "resource": "PostgreSQL",
                "parent": null
            }
        ],
        "edgeCount": 29
    }
]

Get Nodes with No Edge

Description

Returns nodes without any edges that satisfy the specified constraints

Edges not satisfying the specified constraints are ignored

User role

ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/nodes/with-no-edges

Method

POST

Type

application/json

Path variables (required)

<rev> : number

The revision number

Body (JSON)

path : Array of node

Representation of the root node—nodes with no edges that are ascendants of the root are returned (the root node itself is included in the descendants)

The path entry order reversed, so the first entry represents the root node and the last one stands for the topmost node below the resource (not the resource itself)

The required node attributes are name and type; for the last path entry (i.e., the topmost node), the resource attribute is also required

If not specified, the whole graph is searched

edge : JSON object

See EdgeConstraints

node : JSON object

See NodeConstraints

includeInner : boolean

Whether inner nodes are included

Every edge is supposed to point from one leaf to another; therefore, every inner node should have no edges at all, and this method would return all inner nodes from the graph

Default: false (returns leaves only)

max : number

Number of nodes to be returned

A negative value means “return everything”

Default: 10

NodeConstraints

type : string

Name of a node type; only nodes with this type are returned

resource : string

Name of a resource; only nodes with this resource are returned

EdgeConstraints

dir : string

Direction of edges that are counted

  • If “in”, only incoming edges are counted

  • If “out”, only edges going out from the node are counted

  • If not set, both incoming and outgoing edges are counted

type : string

Type of edges to be considered

  • If "direct", only direct edges are considered

  • If "filter", only filter edges are considered

  • If not set, both direct and filter edges are considered

Response

Type

application/json

Body

count : Array of Array of node

An array of paths of the nodes that have no edge

The first item in the path is the node with the given ID, the last one is the node closest to the root

Example Request

A request for (up to 10) columns with no direct incoming edges in a PostgreSQL database called dbname.

{
    "path": [
        {
            "id": 120628,
            "name": "dbname",
            "type": "Database",
            "resource": "PostgreSQL",
            "parent": 120624
        },
        {
            "id": 120624,
            "name": "servername",
            "type": "Server",
            "resource": "PostgreSQL",
            "parent": null
        }
    ],
    "node": {
        "type": "Column" 
    },
    "edge": {
        "dir": "in",
        "type": "direct"
    }
    "max": 10
}

Example Response

An example containing just one node.

[
    [
        {
            "id": 134516,
            "name": "columnname",
            "type": "Column",
            "resource": "PostgreSQL",
            "parent": 134512
        },
        {
            "id": 134512,
            "name": "tablename",
            "type": "Table",
            "resource": "PostgreSQL",
            "parent": 120632
        },
        {
            "id": 120632,
            "name": "public",
            "type": "Schema",
            "resource": "PostgreSQL",
            "parent": 120628
        },
        {
            "id": 120628,
            "name": "dbname",
            "type": "Database",
            "resource": "PostgreSQL",
            "parent": 120624
        },
        {
            "id": 120624,
            "name": "servername",
            "type": "Server",
            "resource": "PostgreSQL",
            "parent": null
        },
        {
            "id": 120244,
            "name": "PostgreSQL",
            "type": "PostgreSQL",
            "resource": "PostgreSQL",
            "parent": null
        }
    ]
]

Get Layer by ID

Description Returns the layer with the given ID
User role ROLE_REPOSITORY_READ

Request

URL /public/v1/rev/{rev}/layers/{id}
Method GET
Path variables (required) <rev> : number Revision number
<id>: number The requested layer ID

Response

Type

application/json

Body

<layer>
  • <layer> : Layer

Layer with the given ID

Description

Returns a permanent link to the specified nodes

Permanent links and their parameters are further described in Visualization Administration

User role

ROLE_REPOSITORY_READ

Request

URL

/public/v1/rev/<rev>/get-permalink

Method

POST

Type

application/json

Path variables (required)

<rev> : number

The revision number

Body (JSON)

nodeIds : Array of number

IDs of the selected nodes; either these or the paths have to be specified; IDs and paths can be combined

nodePaths : Array of array of node (array of paths)

Paths of the selected nodes; either these or the IDs have to be specified; IDs and paths can be combined

depth: JSON object

The number of data flow steps initially displayed in the visualization

Default: 1

direction : string

Direction of data lineage analysis

Default: BOTH

Allowed values: OUT, IN, BOTH

filter : number

The horizontal filter ID; the values are:

  • 1 (Everything)

  • 2 (Database objects)

  • 3 (Database & files)

Default: 1

filterEdges : boolean

Whether to show flows which indirectly influence target elements

includeMantaUrl : boolean

If true, the URL of the IBM Manta Data Lineage installation will be included in the result

If false, only a relative path of the permalink will be returned

Default: true

level : string

At what level of detail the objects will be visualized

  • TOP = low detail

  • MIDDLE = medium detail

  • BOTTOM = high detail

Default: MIDDLE

NodeConstraints

type : string

Name of a node type; only nodes with this type are returned

resource : string

Name of a resource; only nodes with this resource are returned

EdgeConstraints

dir : string

Direction of edges that are counted

  • If “in”, only incoming edges are counted

  • If “out”, only edges going out from the node are counted

  • If not set, both incoming and outgoing edges are counted

type : string

Type of edges to be considered

  • If "direct", only direct edges are considered

  • If "filter", only filter edges are considered

  • If not set, both direct and filter edges are considered

Response

Type

application/json

Body

<permalink>

<permalink> : string

Permanent link to the specified nodes

Example:

"http://localhost:8080/manta-dataflow-server/viewer/dataflow/link?depth=10&direction=IN&filter=1&filterEdges=false&level=BOTTOM&startNode=(Teradata),(DWH),(EVENT_TYPE),(event_type_desc)"

Usage

Description Export usage stats
User role ROLE_USAGE

Request

URL

/public/v1/usage

Method

POST

Request parameters

startTime : date (optional)

Date from which the actions are exported, in the format yyyy-MM-dd

If empty, all actions are exported

anonymized : boolean (optional)

If true, user names are anonymized using SHA-512.

Default: false

Response

Type application/zip
Body Usage stats in CSV format in a ZIP archive

Usage Statistics Collection

Description Exports usage statistics collection
User roles ROLE_USAGE, ROLE_LICENSE_STATS

Request

URL

/public/v1/usage-stats-collection

Method

GET

Request parameters

startTime : date (optional)

Date from which the actions are exported, in the format yyyy-MM-dd

If empty, actions for the last 30 days are exported

Response

Type

application/zip

Body

ZIP archive with following entries

  • Actions performed since the specified date with anonymized user names in CSV format

  • License statistics in JSON format

Common Data Types

Node

{
  "id" : <id>,
  "name" : "<name>",
  "type": "<type>",
  "resource" : <resourceName>,
  "parent" : <parentId>
}

Attributes

<id> The node ID
<name> The node name
<type> The node type
<resourceName> Name of the node's resource
<parentId> ID of the node's parent

Resource

{
  "id" : <id>,
  "name" : "<name>",
  "type" : "<type>",
  "desc" : "<description>"
}

Attributes

<id> The resource ID
<name> The resource name
<type> The resource type
<description> The resource description

Layer

{
  "id" : <id>,
  "name" : <name>,
  "type" : <type>
}

Attributes

<id> The layer ID
<name> The layer name
<type> The layer type

RootNode

{
  "id" : <id>
}

Attributes

<id> The root node ID

Attribute

{
  "owner" : <ownerId>,
  "key" : "<key>",
  "values" : values
}

Attributes

<ownerId> ID of the object having this attribute
<key> The attribute key
<values> Array of the attribute values

Flow

{
  "label" : "<edgeLabel>",
  "start" : <startNodeId>,
  "end" : <endNodeId>,
  "resource" : <startNodeResourceName>
}

Attributes

<edgeLabel> Label of the edge
<startNodeId> ID of the start node of the edge
<endNodeId> ID of the end node of the edge
<startNodeResourceId> Name of the resource of the start node

Graph

{
  "mode" : "NORMAL",
  "vertices" : <vertices>,
  "edges" : <edges>
}

Attributes

<vertices> : Array of GraphVertex The graph vertices
<edges> : Array of GraphEdge The graph edge

GraphVertex

{
  "_id" : <vertexId>,
  "_type" : "vertex",
  "name" : "<name>",
  "type" : "<type>",
  "isResource" : <isResource>,
  "description" : "<description>",
  "resource" : <resourceId>,
  "parent" : <parentId>,
  "attributes" : <attributes>
}

Attributes

<vertexId>

ID of the vertex

<name>

The vertex name

<type>

The vertex type

<isResource>

  • true if the vertex is a resource

  • false if it is not

<description>

The vertex description

<resourceId>

ID of the resource of the vertex

<parentId>

ID of the parent of the vertex

<attributes> : Array of GraphAttribute

Attributes of the vertex

GraphEdge

{
  "_outV": <startNodeId>,
  "_inV": <endNodeId>,
  "_type": "edge",
  "_label": "<edgeLabel>",
  "counter": <edgeOrdinalNumber>,
  "resource": <startNodeResourceName>
}

Attributes

\ ID of the start node
<endNodeId> ID of the end node
<_label> The edge label
<edgeOrdinalNumber> Ordinal number of the edge
<startNodeResourceId> Name of the start node resource

GraphAttribute

{
  "key" : "<key>",
  "values": <values>
}

Attributes

<key> The attribute key
<values> : Array of string The attribute values

Revision

{
  "number" : <number>,
  "state" : <state>,
  "commitTime" : <commitTime>
}

Attributes

<number> : number

Revision number

<state> : string

  • "COMMITTED" if the revision is committed

  • "OPENED" if it is not committed

  • “ROLLBACKED“ if the revision was rolled back

<commitTime> : date

  • Commit time in the format 2019-12-05T14:21:00.000Z if in the state "COMMITTED"

  • null if in the state "OPENED" or “ROLLBACKED“