REST API

Required Permission: API Documentation and testing (Read more about Permissions)

Every operation that can be done in the frontend can be done with our REST API, meaning that you can automatize pretty much everything from user provisioning, exporting of audit logs for analysis in your DWH, transporting application settings between Graphlytic instances, starting Jobs, reading their status and much more. It's possible to run API calls which can lead to changes in graph data, running jobs, or managing users. Every call is going through the authorization layer but please assign permission to this API tester with great caution.

API testing with Swagger UI

Graphlytic comes with an integrated Swagger UI that contains all API services with description and request/response examples. It also allows to live test the queries. These tests are all performed in the Graphlytic instance so you can directly change data in Graphlytic internal DB (users, user groups, permissions, ...) and also in the Neo4j graph. So be carefull with the testing.

The API tester (Swagger UI) can be accessed under "API" in the Main menu (top right).

images/download/attachments/44508790/image2020-12-3_16-51-42.png

List of API services

Here is a list of all API services available in Graphlytic. Requests and response structures can be found in the Swagger UI (see above).

Method

Resource

Description

POST

/cfg/indexer/node/configure

Updates configuration of the fulltext index.

POST

/cfg/indexer/node/status

Returns status and configuration of the fulltext index.

GET

/cfg/indexer/node/automatic

Returns automatically computed configuration for the fulltext index.

GET

/cfg/indexer/node/default

Returns the default configuration for the fulltext index.

POST

/cfg/indexer/node/drop

Drops the fulltext index.

POST

/cfg/indexer/node/create

Creates the fulltext index and starts reindexing.

GET

/jobs

Returns all jobs.

POST

/jobs

Created a new job.

PUT

/jobs/{name}/started

Starts the execution of a job.

PUT

/jobs/{name}

Updates a job.

DELETE

/jobs/{name}

Deletes a job.

GET

/jobs/{name}

Returns job identified by name.

GET

/jobs/list

FTL

GET

/jobs/{name}/history

Returns the execution history of a job.

GET

/visualization

FTL

POST

/visualization/export/image

Accepts an BASE64 encoded image which is then returned to the frontend as a file to download.

GET

/users

Returns all users.

POST

/users

Creates user with permission and group relations.

PUT

/users/{id}

Updates user's permissions and group relations.

DELETE

/users/{id}

Mark user as deleted.

GET

/users/list

FTL

DELETE

/users/{id}/enabled

Disables user.

PUT

/users/{id}/enabled

Enables the user (changes the ENABLED flag to true).

GET

/users/{id}/entitySecurity

Returns effective entitySecurity for user.

GET

/users/{id}/propertySecurity

Returns effective propertySecurity for user.

GET

/users/info

Returns basic information (id, username) for all users.

GET

/users/dataSecurity

Returns dataSecurity configuration for all users.

GET

/users/deleted

Returns deleted users.

GET

/users/user/related

Returns all users related to session user. Related means in the same user group as the session user.

PUT

/users/{id}/groups

Assigns user to usergroups.

PUT

/users/{id}/reset-password

Triggers user password change through the email workflow.

DELETE

/users/{id}/deleted

Undeletes the user (changes the DELETED flag to false).

PUT

/users/{id}/deleted

Deletes the user (changes the DELETED flag to true).

PUT

/users/{id}/password

Updates user's password.

GET

/users/user/groups

POST

/passwordReset/request

Requests change for the username using emailing link to the user.

POST

/passwordReset/perform

Changes password based on the sent link.

GET

/passwordReset/{hash}

FTL

GET

/passwordReset/isHashValid/{hash}

Checks whether the hash is valid.

GET

/data/possiblePropertyKeys

Returns a list of all property names existing in the graph DB.

POST

/data/relationships

Creates a new relationship.

DELETE

/data/nodes/relationships

Deletes a relationship. The list of all deleted elements is returned in the response.

GET

/data/relationships/possibleTypes

Returns a list of all relationship types existing in the graph db and also a list of relationship types defined in the Data Types setting.

POST

/data/relationships/export/csv

CSV export of relationships found by ID.

PUT

/data/nodes/find

Finds nodes using the filtering options and updates specified data.

POST

/data/nodes/find

Finds and returns nodes using the fulltext index and filtering options.

GET

/data/stats/frequency/nodes/{labels}/{property}

Returns a statistics summary of values in a particular property. Only values from nodes are counted.

GET

/data/stats/frequency/nodes/{property}

Returns a statistics summary of values in a particular property. Only values from nodes are counted.

POST

/data/nodes/find/export/csv

CSV export of nodes found using a condition.

GET

/data/stats/frequency/relationships/{types}/{property}

Vrati statistiky frekvencie vyskytu hodnot pre vztahy pre pozadovanu property. Berie sa do uvahy DATA_TYPES. Vyhladavaju sa vsetky typy ktore su povolene v DATA_TYPES.

GET

/data/stats/frequency/relationships/{property}

Vrati statistiky frekvencie vyskytu hodnot pre vztahy pre pozadovanu property. Berie sa do uvahy DATA_TYPES. Vyhladavaju sa vsetky typy ktore su povolene v DATA_TYPES.

PUT

/data/relationships/{id}

Updates relationship's properties. Use the null value for properties that should be removed.

POST

/data/relationships/{id}

Finds relationship by ID and returns the set of requested properties.

GET

/data/nodes/possibleLabels

Returns a list of all node labels existing in the graph db and also a list of node labels defined in the Data Types setting.

POST

/data/import/uploadFile

File is uploaded to the server and a list of file identificators is returned. If a zip file is uploaded identificators for every file inside the zip is returned. This identificator can be used in other import services. Supported file types: csv, xls - Excel '97(-2007), xlsx - Excel 2007 OOXML, xml - GraphML, graphml - GraphML, zip file with a set of files of mentioned types.

POST

/data/import/importFile

Imports an uploaded file to the graph DB. File is identified by the file identificator obtained from the uploadFile service.

POST

/data/nodes

Creates a new node.

GET

/data/stats/frequency/{property}

Returns a statistics summary of values in a particular property. Values from nodes and relationships are counted together.

POST

/data/nodes/export/csv

CSV export of nodes found by ID.

DELETE

/data/nodes/{id}

Deletes a node and all his relationships. The list of all deleted elements is returned in the response.

POST

/data/nodes/{id}

Finds node by ID and returns the set of requested properties.

PUT

/data/nodes/{id}

Updates node's properties. Use the null value for properties that should be removed.

POST

/data/import/analyzeFile

Returns an analysis of an uploaded file identified by the file identificator obtained from the uploadFile service.

POST

/data/cypher

Runs a cypher query and returns the result.

POST

/userSettings

Updates session user's userSettings by type.

GET

/userSettings/{type}

Returns a specific userSettings by type.

GET

/groups

Returns all groups.

POST

/groups

Creates an usergroup. Name must be unique. Returns name of the created group.

PUT

/groups/{id}

Updates an usergroup.

DELETE

/groups/{id}

Deletes an usergroup.

GET

/groups/list

FTL

POST

/groups/{id}/propertySecurity

Updates usergroup's propertySecurity configuration.

GET

/groups/{id}/propertySecurity

Returns usergroup's propertySecurity configuration.

POST

/groups/{id}/entitySecurity

Updates usergroup's entitySecurity configuration.

GET

/groups/{id}/entitySecurity

Returns usergroup's entitySecurity configuration.

POST

/groups/permissions

Replaces usergroup's application permissions.

GET

/groups/info

Returns basic info for all usergroups.

GET

/groups/dataSecurity

Returns all usergroups and their dataSecurity configuration.

PUT

/groups/{id}/users

Replaces user assignments to usergroup.

GET

/profile

Returns the profile information of the session user.

PUT

/profile

Updates the profile information of the session user.

GET

/profile/view

FTL

GET

/profile/locales

Returns all supported locales (languages).

PUT

/profile/password

Updates user's password.

GET

/visualizations

Returns visualization by id for session user. Visualization has to be owned by user, be directly shared or be shared with a group. Postprocessing cleans content of JSON attribute

POST

/visualizations

Creates a new visualization.

PUT

/visualizations/{id}

Updates a visualization. Changing the owner is not allowed.

GET

/visualizations/{id}

Returns visualization by id for session user. Visualization has to be owned by user, be directly shared or be shared with a group. Postprocessing cleans content of JSON attribute

DELETE

/visualizations/{id}

Deletes visualization owned by the session user.

GET

/visualizations/list

FTL

DELETE

/visualizations/{id}/hidden

Unhide the visualization for the session user.

PUT

/visualizations/{id}/hidden

Hides the visualization for the session user.

GET

/visualizations/share

Returns visualizations shared directly or with a group.

PUT

/visualizations/{id}/info

Updates the name and description of a visualization.

PUT

/visualizations/{id}/groups

Shares visualization owned by session user for user groups.

GET

/visualizations/own

Returns visualizations owned by the session user.

PUT

/visualizations/{id}/users

Shares visualization owned by session user with other users.

GET

/widgets/{widgetName}/{fileName}

Returns a file belonging to an external widget.

POST

/data/graph

Returns data of specified nodes and relationships. Elements are idenfied by internal DB IDs.

POST

/data/graph/directRelationships

Returns all direct connections (regardless of the direction) between two groups of nodes.

POST

/data/graph/indirectRelationships

Returns all indirect connections (regardless of the direction) between nodes.

POST

/data/graph/explore

Graph exploring in visualization (doubleclick on a node).

POST

/data/graph/uid

Returns data of specified nodes and relationships. Elements are idenfied by UUIDs defined in Data Types setting.

POST

/data/shortestPath

Returns all shortest paths found between requested nodes (exactly 2 nodes).

GET

/logo

Returns the application logo image.

GET

/icons

Returns names of all custom icons.

GET

/icons/{fileName}

Returns a custom icon image file.

GET

/settings

Returns all application settings.

PUT

/settings/{type}

Updates a specific application setting.

GET

/settings/list

FTL

GET

/settings/default

Updates all application settings with the default configuration.

GET

/settings/automatic

Updates all application settings with an automatically computed configuration (based on a data sample).

GET

/settings/default/{type}

Returns the default configuration for a specific application setting.

GET

/settings/export

Export of all application settings in a zip file.

POST

/settings/import

Import of all application settings from a zip file or as a single file. The name of the file with the configuration must be the name of the imported application setting, e.g. DATA_SCHEMA.json.

GET

/settings/automatic/{type}

Returns automatically computed configuration (based on a data sample) for a specific application setting.

GET

/acl/list

FTL

GET

/

FTL

GET

/search

FTL. QueryParams: "q" - search pattern used in the first opened tab.

GET

/api-documentation

FTL

GET

/login

GET

/schema/indexes

Returns all schema indexes.

POST

/schema/indexes

Creates a new schema index.

DELETE

/schema/indexes

Drops a schema index.

POST

/audit/data/frontend

Logs audit message from FE

GET

/audit/data

Vrati zoznam vsetkych audit eventov

PUT

/license

Updates license.

GET

/license

Obtains license content.