All versions of this documentation
X

Linkurious

Linkurious - Get status

Get the status of the Linkurious server.

/api/status

Success 200

Field Type Description
code number

Status code of the server (100 : starting, 200 : OK, >400 : problem)

name string

Current server status

message string

Description of the current server status

uptime number

Seconds since the server is up

HTTP/1.1 200 OK
{
  "code": 200,
  "name": "initialized",
  "message": "Linkurious ready to go :)",
  "uptime": 122
}

Linkurious - Get version

Get Linkurious current version information.

/api/version

Success 200

Field Type Description
tag_name string

Version tag

name string

Version name

prerelease boolean

Whether this is a pre-release

HTTP/1.1 200 OK
{
  "tag_name": "v0.5.0",
  "name": "Nasty Nostradamus",
  "prerelease": true
}

Linkurious - Save an event

Save an event to the analytics log file. All events follow the Segment Spec.

/api/tm

Parameter

Field Type Description
type string

Type of message

Allowed values: "identify", "track", "page"

userId optional number

ID of the user

event optional string

Name of the action that the user has performed

name optional string

Name of the page that the user has seen

properties optional object

Free-form dictionary of properties of the event/page

traits optional object

Free-form dictionary of traits of the user

timestamp optional string

Timestamp when the message itself took place, defaulted to the current time, in ISO-8601 format

context optional object

Dictionary of extra information of the user

HTTP/1.1 204 No Content

Linkurious - Create a report

Collect all the analytics and log files in a compressed tarball and return it.

/api/admin/report

Permission: User action: admin.report

Parameter

Field Type Description
withConfiguration optional boolean

Whether to include the configuration within the tarball

HTTP/1.1 200 OK

Linkurious - Restart Linkurious

Restart Linkurious. Return the URL of Linkurious after the restart.

/api/admin/restart

Permission: User action: admin.config

Success 200

Field Type Description
url string

The url of Linkurious to connect to after the restart

HTTP/1.1 200 OK
{
  "url": "http://localhost:3000"
}

Linkurious - Get the list of custom files

List all custom files in the specified root directory.

/api/customFiles

Permission: authenticated  

Parameter

Field Type Description
root optional string

Root directory of the files to be listed

Default value: .

extensions optional string

Comma separated list of file extensions to filter the results (e.g: png,gif,jpg,jpeg)

Success 200

Field Type Description
results object[]

The list of custom files

  path string

The URL path of the file

  name string

The path to the file relative to root and separated by >

HTTP/1.1 200 OK
[
  {
    "path": "/myImages/ball.png",
    "name": "ball"
  },
  {
    "path": "/myImages/illustrations/Le_college_fou_fou_fou.jpg",
    "name": "illustrations > Le_college_fou_fou_fou"
  },
  {
    "path": "/myImages/illustrations/black-panther.jpg",
    "name": "illustrations > black-panther"
  },
  {
    "path": "/myImages/illustrations/house.png",
    "name": "illustrations > house"
  },
  {
    "path": "/myImages/illustrations/trump.jpg",
    "name": "illustrations > trump"
  }
]

DataSource

DataSource - Get data-sources status

Get the status of all the data-sources. Users can only see data-sources with at least one group belonging to that data-source. If a user has the "admin.connect" access right, it can also see all the disconnected data-sources.

/api/dataSources

Permission: guest user  

Parameter

Field Type Description
with_styles optional boolean

Whether to include the default styles of the data-sources

with_captions optional boolean

Whether to include the default captions of the data-sources

Success 200

Field Type Description
sources object[]

Data-sources

  name string

Name of the data-source

  configIndex number

Index of the data-source in the dataSources array in the configuration

  key string

Unique key of this data-source (it's null if the data-source is not connected)

  connected boolean

Whether the data-source is connected

  state string

Current state of the data-source

Allowed values: "offline", "connecting", "needIndex", "indexing", "ready"

  reason string

Explanation of the current state

  error optional string

The error that caused the current state, if any

  settings object

Settings of the data-source

    strictSchema object

Whether the schema is in strict mode

    propertyKeyAccessRights object

Whether Property Key Access Rights is enabled

    alternativeIds object

Current source alternative IDs

      node string

Alternative node ID

      edge string

Alternative edge ID

    latitudeProperty string

The default node property used for latitude

    longitudeProperty string

The default node property used for longitude

    skipEdgeIndexation boolean

Whether edges are not indexed for this source

    readOnly boolean

Whether the source is in readonly mode

  features object

Features of the data-source

    immutableNodeCategories boolean

Whether node categories are immutable

    maxNodeCategories number

Maximum number of categories for a node

    canCount boolean

Whether one among the graph or the index can count nodes and edges

    alerts boolean

Whether alerts are available

    dialects string[]

Dialects supported by the graph database

    supportNativeDates boolean

Whether the Graph database supports native dates

    externalIndex boolean

Whether the search index is internal (e.g: elasticsearch) or external

    alternativeIds boolean

Whether alternative IDs can be used

    canIndexEdges boolean

Whether the search index can index edges

    searchHitsCount boolean

Whether the search result will contain 'totalHits' or 'moreResults'

  defaultStyles optional object

Default styles of the data-source

    node INodeStyle[]

Node IStyles

    edge IEdgeStyle[]

Edge IStyles

  defaultCaptions optional object

Default captions of the data-source

    nodes NodeCaption

Node ICaptions

    edges EdgeCaption

Edge ICaptions

  indexState optional object
    searchEnabled boolean

Whether the search is enabled or not

    visibilityConsistent boolean

Whether all searchable properties are indexed

    propertyTypeConsistent boolean

Whether all properties are indexed with the same type declared in the schema

    indexOptimized boolean

Whether no non-searchable properties are indexed

HTTP/1.1 200 OK
[
  {
    "name": "Database #0",
    "configIndex": 0,
    "key": "a2e3c50f",
    "connected": true,
    "state": "ready",
    "reason": "The data-source is ready.",
    "settings": {
      "strictSchema": false
      "alternativeIds": {
        "node": "name",
        "edge": "altEdgeID"
      },
      "skipEdgeIndexation": false,
      "readOnly": false
    },
    "features": {
      "immutableNodeCategories": false,
      "canCount": true,
      "alerts": true,
      "dialects": [
        "cypher"
      ],
      "externalIndex": false,
      "alternativeIds": true,
      "canIndexEdges": true,
      "searchHitsCount": true
    },
    "indexState": {
      "searchEnabled": true,
      "visibilityConsistent": true,
      "propertyTypeConsistent": true,
      "indexOptimized": true
    }
  }, {
    "name": "Database #1",
    "configIndex": 1,
    "key": "ef984bb0",
    "connected": true,
    "state": "needIndex",
    "reason": "The data-source needs to be indexed.",
    "settings": {
      // ...
    },
    "features": {
      // ...
    }
  }, {
    "name": "Database #2",
    "configIndex": 2,
    "key": null,
    "connected": false,
    "state": "offline",
    "reason": "Could not connect to graph database server.",
    "error": "Connection refused (check your username and password)",
    "settings": {
      // ...
    },
    "features": {
      // ...
    }
  }
]
 HTTP/1.1 200 OK
[{
    "name": "Database #0",
    "configIndex": 0,
    "connected": true,
    "key": "4ee5973b",
    "state": "ready",
    "reason": "The data-source is ready.",
    "settings": {
      "readOnly": false,
      "strictSchema": false,
      "alternativeIds": {},
      "skipEdgeIndexation": true
    },
    "features": {
      "immutableNodeCategories": false,
      "canCount": false,
      "alerts": false,
      "dialects": [
        "cypher"
      ],
      "externalIndex": true,
      "alternativeIds": false,
      "canIndexEdges": false,
      "searchHitsCount": false,
      "canDryRun": false,
      "supportNativeDate": false
    },
    "indexState": {
      "searchEnabled": true,
      "visibilityConsistent": true,
      "propertyTypeConsistent": true,
      "indexOptimized": true
    },
    "defaultStyles": {
      "node": [{
        "index": 0,
        "type": "any",
        "style": {
          "color": {
            "type": "auto",
            "input": [
              "categories"
            ]
          }
        }
      }],
      "edge": []
    },
    "defaultCaptions": {
      "nodes": {
        "CITY": {
          "active": true,
          "displayName": true,
          "properties": [
            "name"
          ]
        },
        "COMPANY": {
          "active": true,
          "displayName": false,
          "properties": [
            "name",
            "country"
          ]
        }
      },
      "edges": {
        "INVESTED_IN": {
          "active": true,
          "displayName": true,
          "properties": [
            "funded_month"
          ]
        }
      }
    }
 }]

DataSource - Set default styles and captions

Set default design styles and/or captions for the given data-source.

/api/admin/source/:sourceKey/setDefaults

Permission: User action: admin.styles

Parameter

Field Type Description
styles optional object

New default styles for the data-source

  node INodeStyle[]

Node styles

  edge IEdgeStyle[]

Edge styles

  edgeGroup IEdgeGroupStyle

Edge group styles

captions optional object

New default captions for the data-source

  nodes NodeCaption

Nodes captions

  edges EdgeCaption

Edges captions

DataSource - Reset settings for new visualizations

Reset design and/or captions of all sandboxes of the given data-source to default values. If design is true, set design.palette and design.styles to default palette and defaultStyles of the data-source. If captions is true, set nodeFields.captions and edgeFields.captions to current defaultCaptions.nodes and defaultCaptions.edges of the data-source.

/api/admin/source/:sourceKey/resetDefaults

Permission: User action: admin.styles

Parameter

Field Type Description
design boolean

Whether to reset default design to default values

captions boolean

Whether to reset default captions to default values

DataSource - Connect a disconnected data-source

Connect a disconnected data-source.

/api/admin/source/:sourceIndex/connect

Permission: User action: admin.connect

DataSource - Delete all data-source data

Delete all data of data-source (visualizations, access rights, widgets, full-text indexes). Optionally merge visualizations and widgets into another data-source instead of deleting them. Warning: when merging into another data-source, visualizations may break if node and edge IDs are not the same in the target data-source.

/api/admin/sources/data/:sourceKey

Permission: User action: admin.config

Parameter

Field Type Description
merge_into string

Key of the data-source to merge visualizations and widgets into

merge_replace boolean

Whether to Overwrite groups, graph schema and access-rights in target data-source

Success 200

Field Type Description
migrated boolean

True if the affected items have been migrated to another data-source, false if they have been deleted

affected object

Affected object counts

  visualizations number

Number of migrated/deleted visualizations (with their widgets)

  folders number

Number of migrated/deleted visualization folders

  alerts number

Number of migrated/deleted alerts

  alertFolders number

Number of migrated/deleted alert folders

  cases number

Number of migrated/deleted cases

  graphQueries number

Number of migrated/deleted graph queries

  edgeTypes number

Number of migrated/deleted edge types

  edgeProperties number

Number of migrated/deleted edge properties

  nodeTypes number

Number of migrated/deleted node types

  nodeProperties number

Number of migrated/deleted node properties

  accessRights number

Number of migrated/deleted access rights

  customActions number

Number of migrated/deleted customActions

DataSource - Delete a data-source configuration

Delete a data-source configuration that has currently no connected data-source.

/api/admin/sources/config/:configIndex

Permission: User action: admin.config

Parameter

Field Type Description
configIndex number

Index of a data-source configuration

DataSource - Get all data-sources information

Get the admin info of all the data-sources, including:

  • a disconnected data-source configuration
  • a disconnected data-source state not configured anymore
  • a connected data-source (data-source configuration + state)

/api/admin/sources

Permission: User action: admin.config

Success 200

Field Type Description
sources object[]

Data-source information

  lastSeen string

Last time this data-source was seen online (ISO-8601 date)

  lastIndexed string

Last time this data-source was indexed (ISO-8601 date)

  lastSampled string

Last time this data-source was sampled (ISO-8601 date)

  key string

Key of the data-source (when is has been connected before, null otherwise)

  host string

Host of the data-source

  port string

Port of the data-source

  storeId string

Unique store identifier of the graph database (when it has been connected before, null otherwise)

  state string

State code if the data-source ("ready" , "offline" ...)

  visualizationCount number

Number of visualizations that exist for this data-source

  configIndex number

The index of the data-source's config (if the config still exists, null otherwise)

DataSource - Create a new data-source configuration

Create a new data-source configuration made of a graph database configuration and an index configuration. Return the configuration index of the new data-source.

/api/admin/sources/config

Permission: User action: admin.config

Parameter

Field Type Description
name string

Name of the data-source

graphDb object

The configuration options of the graph database

  vendor string

The vendor of the graph database ("neo4j", ...)

index object

The configuration options of the index

  vendor object

The vendor of the index ("elasticSearch")

  host string

Host of the index server

  port number

Port of the index server

  forceReindex boolean

Whether to re-index this graph database at each start of Linkurious

Config

Config - Get the configuration

Get the configuration of Linkurious.

/api/config

Parameter

Field Type Description
sourceIndex optional number

Index of the data-source in the dataSources array in the configuration of which the source field in the response will be about

Default value: 0

Success 200

Field Type Description
access object

Access configuration

  authRequired boolean

Whether authentication is required

  guestMode boolean

Whether the guest mode is enabled

  loginTimeout number

Seconds of inactivity after which a user is logged out

  defaultPage string

Default page

Allowed values: "dashboard", "workspace"

  defaultPageParams object
  dataEdition boolean

Whether it's possible to create, update and delete nodes and edges

  widget boolean

Whether the widget feature is enabled

  autoRefreshGroupMapping boolean

Whether access rights for an external user should be refreshed at every login

ogma object

Configuration of Ogma

domain string

The server domain

url string

The server url

ssoProvider string

The current SSO provider (or null if none)

advanced object

Advanced data-source settings applied to all data-sources

  supernodeThreshold number

Number of connections a node must have to be a supernode

  dataSourceConnectionTimeout number

Number of seconds after which Linkurious gave up in connecting to a data-source

  dataSourceAutoReconnectInterval number

Number of seconds after which Linkurious will try to reconnect automatically to all offline data-sources

  pollInterval number

Number of seconds between "pings" to a data-source when connected

  indexationChunkSize number

Number of nodes/edges read at once from a data-source when indexing it

  expandThreshold number

Number of expanded nodes that will trigger the "limit expand to" popup

  rawQueryLimit number

Maximum number of nodes returned by a raw query

  searchAddAllThreshold number

Maximum number of added nodes using the "add all" in a search

  minSearchQueryLength number

Minimum number of characters in a search query before it is sent to the server

  rawQueryTimeout number

Timeout of pattern queries (cypher, gremlin, etc.) in milliseconds

  showBuiltinQueries boolean

Whether the builtin queries are shown or hidden

  sampledItemsPerType number

Number of nodes/edges per itemType to read while sampling the graph schema

  sampledVisualizationItems number

Number of nodes/edges to read to read from existing visualizations while sampling the graph schema

  layoutWorkers number
  defaultFuzziness number
  extraCertificateAuthorities string
  obfuscation string
leaflet object[]

Leaflet layer configuration

  name string

Name of the layer

  urlTemplate string

Tile-URL template for this layer

  attribution string

Copyright attribution text for this layer

  minZoom number

Minimum valid zoom of the layer

  maxZoom number

Maximum valid zoom of the layer

  thumbnail string

Path of this layer's thumbnail, relative to client root

  subdomains string

Subdomain letters to use in tile-URL template

  id string

Layer ID (needed for MapBox layers)

  accessToken string

Layer access token (user for MapBox layers)

  overlay string
db object

DB configuration (if admin)

server object

Server configuration (if admin)

alerts object

Alerts configuration

  enabled boolean

Whether alerts are enabled

  maxCasesLimit number

The maximum and default number of cases stored for an alert

  maxRuntimeLimit number

The maximum and default runtime limit for an alert update (in milliseconds)

  maxConcurrency number

The maximum number of alerts updated at the same time

auditTrail object

AuditTrail configuration (if admin)

defaultPreferences object

Default preferences of a newly created user (if admin)

guestPreferences object

Preferences of the guest user (if admin)

dataSource object

Data-source configuration (if admin)

  name string

Name of the current data-source

  readOnly boolean

Whether the current data-source is read-only

  graphdb object

Graph configuration of the current data-source

  index object

Index configuration of the current data-source

plugins object

Linkurious plugins configuration

   string

*.basePath A base path on which the plugin will be mounted

needRestart boolean

Whether the Linkurious Server needs to be restarted

Config - Update the configuration

Update Linkurious configuration.

/api/config

Permission: User action: admin.config

Parameter

Field Type Description
path optional string

The configuration path to override (use dataSource.* to edit the current data-source configuration)

configuration optional any

The configuration value to set for the given path

sourceIndex optional number

Index of the data-source in the dataSources array in the configuration

Default value: 0

reset optional boolean

Whether to reset the configuration to default values (the configuration parameter will be ignored). If the path parameter is specified, only the configuration corresponding to the specified path will be reset

{
    "path": "dataSource.name",
    "configuration": "New data-source name",
    "sourceIndex": 2
}

Auth

Auth - Login

Log a user in by e-mail or username and password and return it.

/api/auth/login

Parameter

Field Type Description
usernameOrEmail string

User e-mail or username

password string

User password

Success 200

Field Type Description
id number

ID of the user

username string

Username of the user

email string

E-mail of the user

source string

Source of the user ("local", "ldap", "oauth2", etc.)

groups group[]

Groups the user belongs to

preferences preferences

Preferences of the user

actions object

Arrays of authorized actions indexed by data-source key The special key "*" lists actions authorized on all the data-sources

accessRights object

Arrays of authorized node categories and edge types indexed by data-source key, by type and by right The special key "*" lists access rights authorized on all the data-sources

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

lastActiveDate string

Last active date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "username": "Unique user",
  "email": "user@linkurio.us",
  "source": "local",
  "groups": [
    {
      "id": 1,
      "name": "admin",
      "builtin": true,
      "sourceKey": "*"
    }
  ],
  "preferences": {
    "pinOnDrag": false,
    "locale": "en-US",
    "incrementalLayout": false
  },
  "actions": {
    "*": [
      "admin.users",
      "admin.alerts",
      "admin.connect",
      "admin.index",
      "admin.app",
      "admin.report",
      "admin.schema",
      "admin.users.delete",
      "admin.config",
      "rawReadQuery",
      "rawWriteQuery"
    ]
  },
  "accessRights": {
    "*": {
      "nodes": {
        "edit": [],
        "write": ["*"]
      },
      "edges": {
        "edit": [],
        "write": ["*"]
      },
      "alerts": {
        "read": ["*"]
      }
    }
  },
  "createdAt": "2016-05-16T08:23:35.730Z",
  "updatedAt": "2016-05-16T08:23:45.730Z",
  "lastActiveDate": "2016-08-21T11:46:27.230Z"
}

Auth - Login and redirect

Log a user in by e-mail or username and password and redirect it to a given path.

/api/auth/loginRedirect

Parameter

Field Type Description
usernameOrEmail string

User e-mail or username

password string

User password

path optional string

Path to redirect to

Default value: /

errorPath optional string

Path to redirect to in case of error

Default value: path

HTTP/1.1 302 Redirect

Auth - Logout

Log the current user out.

/api/auth/logout
HTTP/1.1 204 No Content

Auth - Get current user

Get the profile of the current user.

/api/auth/me

Permission: guest user  

Success 200

Field Type Description
id number

ID of the user

username string

Username of the user

email string

E-mail of the user

source string

Source of the user ("local", "ldap", "oauth2", etc.)

groups group[]

Groups the user belongs to

preferences preferences

Preferences of the user

actions object

Arrays of authorized actions indexed by data-source key The special key "*" lists actions authorized on all the data-sources

accessRights object

Arrays of authorized node categories and edge types indexed by data-source key, by type and by right The special key "*" lists access rights authorized on all the data-sources

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

lastActiveDate string

Last active date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "username": "Unique user",
  "email": "user@linkurio.us",
  "source": "local",
  "groups": [
    {
      "id": 1,
      "name": "admin",
      "builtin": true,
      "sourceKey": "*"
    }
  ],
  "preferences": {
    "pinOnDrag": false,
    "locale": "en-US",
    "incrementalLayout": false
  },
  "actions": {
    "*": [
      "admin.users",
      "admin.alerts",
      "admin.connect",
      "admin.index",
      "admin.app",
      "admin.report",
      "admin.schema",
      "admin.users.delete",
      "admin.config",
      "rawReadQuery",
      "rawWriteQuery"
    ]
  },
  "accessRights": {
    "*": {
      "nodes": {
        "edit": [],
        "write": ["*"]
      },
      "edges": {
        "edit": [],
        "write": ["*"]
      },
      "alerts": {
        "read": ["*"]
      }
    }
  },
  "createdAt": "2016-05-16T08:23:35.730Z",
  "updatedAt": "2016-05-16T08:23:45.730Z",
  "lastActiveDate": "2016-08-21T11:46:27.230Z"
}
HTTP/1.1 401 Unauthorized
{
  "key": "unauthorized",
  "message": "Unauthorized."
}

Auth - Update current user

Update the current user.

/api/auth/me

Permission: authenticated  

Parameter

Field Type Description
username optional string

New username

email optional string

New e-mail

password optional string

New password

preferences optional object

New user preferences

Success 200

Field Type Description
id number

ID of the user

username string

Username of the user

email string

E-mail of the user

source string

Source of the user ("local", "ldap", "oauth2", etc.)

groups group[]

Groups the user belongs to

preferences preferences

Preferences of the user

actions object

Arrays of authorized actions indexed by data-source key The special key "*" lists actions authorized on all the data-sources

accessRights object

Arrays of authorized node categories and edge types indexed by data-source key, by type and by right The special key "*" lists access rights authorized on all the data-sources

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

lastActiveDate string

Last active date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "username": "Unique user",
  "email": "user@linkurio.us",
  "source": "local",
  "groups": [
    {
      "id": 1,
      "name": "admin",
      "builtin": true,
      "sourceKey": "*"
    }
  ],
  "preferences": {
    "pinOnDrag": false,
    "locale": "en-US",
    "incrementalLayout": false
  },
  "actions": {
    "*": [
      "admin.users",
      "admin.alerts",
      "admin.connect",
      "admin.index",
      "admin.app",
      "admin.report",
      "admin.schema",
      "admin.users.delete",
      "admin.config",
      "rawReadQuery",
      "rawWriteQuery"
    ]
  },
  "accessRights": {
    "*": {
      "nodes": {
        "edit": [],
        "write": ["*"]
      },
      "edges": {
        "edit": [],
        "write": ["*"]
      },
      "alerts": {
        "read": ["*"]
      }
    }
  },
  "createdAt": "2016-05-16T08:23:35.730Z",
  "updatedAt": "2016-05-16T08:23:45.730Z",
  "lastActiveDate": "2016-08-21T11:46:27.230Z"
}

Auth - Login via OAuth2 or SAML2

Redirect the user to the OAuth2 or SAML2 provider for authorization.

/api/auth/sso/login

Parameter

Field Type Description
redirect_url optional string

The URL to redirect to after a successful login

HTTP/1.1 302 Redirect

Frontend

Frontend - Open a sandbox

Open the visualization sandbox of the current user for a given data-source.

/workspace/new

Permission: authenticated  

Parameter

Field Type Description
key optional string

Key of the data-source (default to the first connected data-source)

populate optional string

Describes how the sandbox should be populated

Allowed values: "visualizationId", "expandNodeId", "nodeId", "edgeId", "queryId", "searchNodes", "searchEdges", "pattern", "caseId"

item_id optional string

ID of the node, edge, query/pattern or visualization to load (required when populate is one of ["visualizationId", "queryId", "nodeId", "edgeId", "expandNodeId"])

case_id optional number

ID of alert case to load (required when populate is "caseId")

search_query optional string

Search query to search for nodes or edges (required when populate is one of ["searchNodes", "searchEdges"])

search_fuzziness optional number

Search query fuzziness (when populate is one of ["searchNodes", "searchEdges"])

Default value: 0.1

Size range: 0-1

pattern_query optional string

Pattern query to match nodes and/or edges (required when populate is "pattern")

pattern_dialect optional string

Query dialect to use (e.g. "cypher" or "gremlin", required when populate is "pattern")

query_parameters optional string

Template query parameters in JSON format (e.g. {"param1": "abc", "param2": 123}, to use when populate is "queryId" and the query is a template)

Frontend - Open a visualization

Open a visualization. The current user must have at least read access on the visualization.

/workspace/:id

Permission: authenticated  

Parameter

Field Type Description
id number

ID of the visualization

HTTP/1.1 200 OK

Frontend - Open a guest sandbox

Open the guest user's workspace for a given data-source.

/guest

Permission: guest user  

Parameter

Field Type Description
key optional string

Key of the data-source (default to the first connected data-source)

populate optional string

Describes how the guest workspace should be populated

Allowed values: "visualizationId", "expandNodeId", "nodeId", "edgeId", "queryId", "searchNodes", "searchEdges", "pattern"

item_id optional string

ID of the node, edge, query/pattern or visualization to load (required when populate is one of ["visualizationId", "queryId", "nodeId", "edgeId", "expandNodeId"])

search_query optional string

Search query to search for nodes or edges (required when populate is one of ["searchNodes", "searchEdges"])

search_fuzziness optional number

Search query fuzziness (when populate is one of ["searchNodes", "searchEdges"])

Default value: 0.1

Size range: 0-1

pattern_query optional string

Pattern query to match nodes and/or edges (required when populate is "pattern")

pattern_dialect optional string

Query dialect to use (e.g. "cypher" or "gremlin", required when populate is "pattern")

query_parameters optional string

Template query parameters in JSON format (e.g. {"param1": "abc", "param2": 123}, to use when populate is "queryId" and the query is a template)

HTTP/1.1 200 OK

Frontend - Open a visualization as a guest

Open a visualization shared with the guest user.

/guest/?populate=visualizationId&item_id=:id&key=:sourceKey

Permission: guest user  

Parameter

Field Type Description
populate string

Explain how the visualization will be populated

Allowed values: visualizationId

id number

ID of the visualization

key string

The data source key where the visualization belongs

HTTP/1.1 200 OK

Frontend - Open a widget

Open a widget. A widget can be protected by a password. If the widget is password-protected, use HTTP Basic Authentication to provide the password (the username field is ignored).

/widget/:key

Permission: guest user  

Parameter

Field Type Description
key string

ID of the widget

HTTP/1.1 200 OK

Application

Application - Get all the applications

Get all the API applications.

/api/admin/applications

Permission: User action: admin.app

Success 200

Field Type Description
applications object[]

Applications

  id number

ID of the application

  name string

Name of the application

  apiKey string

Generated key (32 hexadecimal characters)

  enabled boolean

Whether the application is enabled

  rights string[]

Enabled actions for the application

  groups group[]

Groups the application can act on behalf of

  createdAt string[]

Creation date in ISO-8601 format

  updatedAt string[]

Last update date in ISO-8601 format

HTTP/1.1 200 OK
[
  {
    "id": 1,
    "enabled": true,
    "apiKey": "e3fadcbd39ddb21fe8ecb206dadff36d",
    "name": "test_app",
    "rights": [
      "visualization.create",
      "visualization.edit",
      "visualization.read",
      "visualization.delete"
    ],
    "groups": [
      {
        "id": 3,
        "name": "read and edit",
        "builtin": true,
        "sourceKey": "584f2569"
      }
    ],
    "createdAt": "2017-01-24T11:14:51.337Z",
    "updatedAt": "2017-01-24T11:31:13.769Z"
  },
  {
    "id": 2,
    "enabled": true,
    "apiKey": "738c9f3b66aad7218c69843a78905ccd",
    "name": "test_app_2",
    "rights": [
      "visualization.read"
    ],
    "groups": [
      {
        "id": 2,
        "name": "read",
        "builtin": true,
        "sourceKey": "584f2569"
      }
    ],
    "createdAt": "2017-01-24T11:16:02.417Z",
    "updatedAt": "2017-01-24T11:16:02.417Z"
  }
]

Application - Create an application

Add a new API application.

/api/admin/applications

Permission: User action: admin.app

Parameter

Field Type Description
name string

Name of the application

enabled optional boolean

Whether the application is enabled

Default value: true

groups number[]

IDs of the groups the application can act on behalf of

rights string[]

Enabled actions for the application

Allowed values: "visualization.read", "visualization.create", "visualization.edit", "visualization.delete", "visualization.list", "visualizationFolder.create", "visualizationFolder.edit", "visualizationFolder.delete", "visualizationShare.read", "visualizationShare.create", "visualizationShare.delete", "sandbox", "widget.read", "widget.create", "widget.edit", "widget.delete", "graphItem.read", "graphItem.create", "graphItem.edit", "graphItem.delete", "graphItem.search", "savedGraphQuery.read", "savedGraphQuery.create", "savedGraphQuery.edit", "savedGraphQuery.delete", "alert.read", "alert.doAction", "schema", "admin.index"

Success 200

Field Type Description
id number

ID of the application

name string

Name of the application

apiKey string

Generated key (32 hexadecimal characters)

enabled boolean

Whether the application is enabled

rights string[]

Enabled actions for the application

groups group[]

Groups the application can act on behalf of

createdAt string[]

Creation date in ISO-8601 format

updatedAt string[]

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "enabled": true,
  "apiKey": "76554081e5b0a2d7852deec4990ebc58",
  "name": "test_app",
  "rights": [
    "visualization.create",
    "visualization.edit",
    "visualization.read",
    "visualization.delete"
  ],
  "groups": [
    {
      "id": 3,
      "name": "read and edit",
      "builtin": true,
      "sourceKey": "584f2569"
    }
  ],
  "createdAt": "2017-01-24T11:16:03.445Z",
  "updatedAt": "2017-01-24T11:16:03.445Z"
}

Application - Update an application

Update an API application.

/api/admin/applications/:id

Permission: User action: admin.app

Parameter

Field Type Description
id string

ID of the application

name optional string

Name of the application

enabled optional boolean

Whether the application is enabled

Default value: true

groups optional number[]

IDs of the groups the application can act on behalf of

rights optional string[]

Enabled actions for the application

Allowed values: "visualization.read", "visualization.create", "visualization.edit", "visualization.delete", "visualization.list", "visualizationFolder.create", "visualizationFolder.edit", "visualizationFolder.delete", "visualizationShare.read", "visualizationShare.create", "visualizationShare.delete", "sandbox", "widget.read", "widget.create", "widget.edit", "widget.delete", "graphItem.read", "graphItem.create", "graphItem.edit", "graphItem.delete", "graphItem.search", "savedGraphQuery.read", "savedGraphQuery.create", "savedGraphQuery.edit", "savedGraphQuery.delete", "alert.read", "alert.doAction", "schema"

Success 200

Field Type Description
id number

ID of the application

name string

Name of the application

apiKey string

Generated key (32 hexadecimal characters)

enabled boolean

Whether the application is enabled

rights string[]

Enabled actions for the application

groups group[]

Groups the application can act on behalf of

createdAt string[]

Creation date in ISO-8601 format

updatedAt string[]

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "enabled": true,
  "apiKey": "76554081e5b0a2d7852deec4990ebc58",
  "name": "test_app",
  "rights": [
    "visualization.create",
    "visualization.edit",
    "visualization.read",
    "visualization.delete"
  ],
  "groups": [
    {
      "id": 3,
      "name": "read and edit",
      "builtin": true,
      "sourceKey": "584f2569"
    }
  ],
  "createdAt": "2017-01-24T11:16:03.445Z",
  "updatedAt": "2017-01-24T11:16:03.445Z"
}

Query

Query - Get a graph query

Get a graph query owned by the current user or shared with it.

/api/:sourceKey/graph/query/:id

Permission: guest user   , User action: runQuery API right: savedGraphQuery.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the graph query

Success 200

Field Type Description
id number

ID of the graph query

sourceKey string

Key of the data-source

name string

Name of the graph query

content string

Content of the graph query

dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

description string

Description of the graph query

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

write boolean

Whether the query may write the database

graphInput optional string

Type of inputs to the template query (if type="template")

Allowed values: "none", "1-node", "2-nodes", "nodeset"

templateFields optional object

Parsed template fields (if type="template")

type string

Type of the graph query

Allowed values: "static", "template"

right string

Current user's right on the query

Allowed values: "owner", "read"

builtin boolean

Whether the query is builtin

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": -137301277,
  "sourceKey": "e31dc474",
  "name": "Expand non-leaf nodes",
  "content": "MATCH (a)-[]-(b)-[]-(c) WHERE id(a) = {{\"Source\":node}} and a <> c RETURN distinct b",
  "dialect": "cypher",
  "description": "Expand non-leaf nodes.",
  "sharing": "source",
  "type": "template",
  "templateFields": [{
    "key": "Source","type":"node"
  }],
  "graphInput": "1-node",
  "write": false,
  "builtin": true,
  "right": "read"
}

Query - Get all graph queries

Get all the graph queries owned by the current user or shared with it.

/api/:sourceKey/graph/query

Permission: guest user   , User action: runQuery API right: savedGraphQuery.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

type string

Type of the graph queries

Allowed values: "static", "template"

Success 200

Field Type Description
queries object[]

List of queries

  id number

ID of the graph query

  sourceKey string

Key of the data-source

  name string

Name of the graph query

  content string

Content of the graph query

  dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

  description string

Description of the graph query

  sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

  sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

  write boolean

Whether the query may write the database

  graphInput optional string

Type of inputs to the template query (if type="template")

Allowed values: "none", "1-node", "2-nodes", "nodeset"

  templateFields optional object

Parsed template fields (if type="template")

  type string

Type of the graph query

Allowed values: "static", "template"

  right string

Current user's right on the query

Allowed values: "owner", "read"

  builtin boolean

Whether the query is builtin

  createdAt string

Creation date in ISO-8601 format

  updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
[
  {
    "id": -137301277,
    "sourceKey": "e31dc474",
    "name": "Expand non-leaf nodes",
    "content": "MATCH (a)-[]-(b)-[]-(c) WHERE id(a) = {{\"Source\":node}} and a <> c RETURN distinct b",
    "dialect": "cypher",
    "description": "Expand non-leaf nodes.",
    "sharing": "source",
    "type": "template",
    "templateFields": [{
      "key": "Source","type":"node"
    }],
    "graphInput": "1-node",
    "write": false,
    "builtin": true,
    "right": "read"
  }
]

Query - Create a graph query

Create a graph query for the current user.

/api/:sourceKey/graph/query

Permission: User action: raw(Read|Write)Query API right: savedGraphQuery.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

name string

Name of the graph query

content string

Content of the graph query

dialect optional string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

description optional string

Description of the graph query

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

Success 200

Field Type Description
id number

ID of the graph query

sourceKey string

Key of the data-source

name string

Name of the graph query

content string

Content of the graph query

dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

description string

Description of the graph query

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

write boolean

Whether the query may write the database

graphInput optional string

Type of inputs to the template query (if type="template")

Allowed values: "none", "1-node", "2-nodes", "nodeset"

templateFields optional object

Parsed template fields (if type="template")

type string

Type of the graph query

Allowed values: "static", "template"

right string

Current user's right on the query

Allowed values: "owner", "read"

builtin boolean

Whether the query is builtin

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": -137301277,
  "sourceKey": "e31dc474",
  "name": "Expand non-leaf nodes",
  "content": "MATCH (a)-[]-(b)-[]-(c) WHERE id(a) = {{\"Source\":node}} and a <> c RETURN distinct b",
  "dialect": "cypher",
  "description": "Expand non-leaf nodes.",
  "sharing": "source",
  "type": "template",
  "templateFields": [{
    "key": "Source","type":"node"
  }],
  "graphInput": "1-node",
  "write": false,
  "builtin": true,
  "right": "read"
}

Query - Update a graph query

Update a graph query owned by the current user.

/api/:sourceKey/graph/query/:id

Permission: owner   , User action: raw(Read|Write)Query API right: savedGraphQuery.edit

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the graph query

name optional string

New name of the graph query

content optional string

New content of the graph query

dialect optional string

New dialect of the graph query

Allowed values: "cypher", "gremlin"

description optional string

New description of the graph query

sharing optional string

New sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

Success 200

Field Type Description
id number

ID of the graph query

sourceKey string

Key of the data-source

name string

Name of the graph query

content string

Content of the graph query

dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

description string

Description of the graph query

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

write boolean

Whether the query may write the database

graphInput optional string

Type of inputs to the template query (if type="template")

Allowed values: "none", "1-node", "2-nodes", "nodeset"

templateFields optional object

Parsed template fields (if type="template")

type string

Type of the graph query

Allowed values: "static", "template"

right string

Current user's right on the query

Allowed values: "owner", "read"

builtin boolean

Whether the query is builtin

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": -137301277,
  "sourceKey": "e31dc474",
  "name": "Expand non-leaf nodes",
  "content": "MATCH (a)-[]-(b)-[]-(c) WHERE id(a) = {{\"Source\":node}} and a <> c RETURN distinct b",
  "dialect": "cypher",
  "description": "Expand non-leaf nodes.",
  "sharing": "source",
  "type": "template",
  "templateFields": [{
    "key": "Source","type":"node"
  }],
  "graphInput": "1-node",
  "write": false,
  "builtin": true,
  "right": "read"
}

Query - Delete a graph query

Delete a graph query owned by the current user.

/api/:sourceKey/graph/query/:id

Permission: owner   , API right: savedGraphQuery.delete

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the graph query

HTTP/1.1 204 No Content

Query - Check a graph query

Check that the given graph query is syntactically correct. Parse the query if it's a template.

/api/:sourceKey/graph/check/query

Permission: User action: rawReadQuery API right: savedGraphQuery.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

query string

The graph query

dialect optional string

Dialect of the graph query (defaults to the first supported dialect of the data-source)

Allowed values: "cypher", "gremlin"

Success 200

Field Type Description
type string

Type of the graph query

Allowed values: "static", "template"

write boolean

Whether the query may write the database

graphInput optional string

Type of inputs to the template query (if type="template")

Allowed values: "none", "1-node", "2-nodes", "nodeset"

templateFields optional object

Parsed template fields (if type="template")

HTTP/1.1 200 OK
{
  "write": false,
  "graphInput": "2-nodes",
  "templateFields": [
    {
      "key": "src",
      "type": "node"
    },
    {
      "key": "dst",
      "type": "node"
    }
  ],
  "type": "template"
}

Query - Execute a graph query

Get all the nodes and edges matching the given graph query. A subgraph made of all the nodes and the edges from each subgraph matching the graph query is returned.

/api/:sourceKey/graph/run/query

Permission: User action: raw(Read|Write)Query API right: graph.runQuery

Parameter

Field Type Description
sourceKey string

Key of the data-source

edgesTo optional string[]

IDs of nodes that are already visible (they won't be included in the result, but their adjacent edges will be included in the edges field if the other nodes are in nodes)

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

dialect optional string

Dialect of the graph query (defaults to the first supported dialect of the data-source)

Allowed values: "cypher", "gremlin"

limit optional number

Maximum number of matched subgraphs

timeout optional number

Maximum execution time in milliseconds

templateData optional object

Key/value pair data to be filled in the template

query string

The graph query

Success 200

Field Type Description
truncatedByLimit boolean

Whether the response was filtered out because too big

truncatedByAccess boolean

Whether the response was filtered out by access rights

nodes object[]
  id string

ID of the node

  data object
    categories string

Categories of the node

    properties object

Properties of the node

    geo IGeoData

Coordinates of the node

    statistics optional object

Statistics of the node

      supernode optional boolean

Whether the node is a supernode

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

      supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

      supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

    readAt number

Read timestamp in epoch time

edges object[]
  id string

ID of the edge

  source string

ID of the source node

  target string

ID of the target node

  data object
    type string

Type of the edge

    properties object

Properties of the edge

    readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "truncatedByLimit": false,
  "truncatedByAccess": true,
  "nodes": [
    {
      "id": "1",
      "data": {
        "categories": ["Person"],
        "properties": {
          "name": "David"
        },
        "geo": {},
        "statistics": {
          "supernode": false,
          "digest": [
            {
              "nodeCategories": [
                "Company"
              ],
              "edgeType": "works_for",
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    }
  ],
  "edges": [
    {
      "id": "1",
      "source": "1",
      "target": "2",
      "data": {
        "type": "works_for",
        "properties": {
          "since": "2016-05-09"
        },
        "readAt": 692362800000
      }
    }
  ]
}

Query - Execute a graph query by ID

Get all the nodes and edges matching the given saved graph query by ID. A subgraph made of all the nodes and the edges from each subgraph matching the graph query is returned.

/api/:sourceKey/graph/run/query/:id

Permission: guest user   , User action: runQuery API right: graph.runQuery

Parameter

Field Type Description
sourceKey string

Key of the data-source

edgesTo optional string[]

IDs of nodes that are already visible (they won't be included in the result, but their adjacent edges will be included in the edges field if the other nodes are in nodes)

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

dialect optional string

Dialect of the graph query (defaults to the first supported dialect of the data-source)

Allowed values: "cypher", "gremlin"

limit optional number

Maximum number of matched subgraphs

timeout optional number

Maximum execution time in milliseconds

templateData optional object

Key/value pair data to be filled in the template

id number

ID of the graph query

Success 200

Field Type Description
truncatedByLimit boolean

Whether the response was filtered out because too big

truncatedByAccess boolean

Whether the response was filtered out by access rights

nodes object[]
  id string

ID of the node

  data object
    categories string

Categories of the node

    properties object

Properties of the node

    geo IGeoData

Coordinates of the node

    statistics optional object

Statistics of the node

      supernode optional boolean

Whether the node is a supernode

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

      supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

      supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

    readAt number

Read timestamp in epoch time

edges object[]
  id string

ID of the edge

  source string

ID of the source node

  target string

ID of the target node

  data object
    type string

Type of the edge

    properties object

Properties of the edge

    readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "truncatedByLimit": false,
  "truncatedByAccess": true,
  "nodes": [
    {
      "id": "1",
      "data": {
        "categories": ["Person"],
        "properties": {
          "name": "David"
        },
        "geo": {},
        "statistics": {
          "supernode": false,
          "digest": [
            {
              "nodeCategories": [
                "Company"
              ],
              "edgeType": "works_for",
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    }
  ],
  "edges": [
    {
      "id": "1",
      "source": "1",
      "target": "2",
      "data": {
        "type": "works_for",
        "properties": {
          "since": "2016-05-09"
        },
        "readAt": 692362800000
      }
    }
  ]
}

Node

Node - Get a node

Get a node of the graph. A subgraph made of the single node is returned.

/api/:sourceKey/graph/nodes/:id

Permission: guest user   , API right: graphItem.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

edgesTo optional string[]

IDs of nodes that are already visible (they won't be included in the result, but their adjacent edges will be included in the edges field if the other nodes are in nodes)

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

id string

ID of the node

Success 200

Field Type Description
nodes object[]
  id string

ID of the node

  data object
    categories string

Categories of the node

    properties object

Properties of the node

    geo IGeoData

Coordinates of the node

    statistics optional object

Statistics of the node

      supernode optional boolean

Whether the node is a supernode

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

      supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

      supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

    readAt number

Read timestamp in epoch time

edges object[]
  id string

ID of the edge

  source string

ID of the source node

  target string

ID of the target node

  data object
    type string

Type of the edge

    properties object

Properties of the edge

    readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "nodes": [
    {
      "id": "1",
      "data": {
        "categories": ["Person"],
        "properties": {
          "name": "David"
        },
        "geo": {},
        "statistics": {
          "supernode": false,
          "digest": [
            {
              "nodeCategories": [
                "Company"
              ],
              "edgeType": "works_for",
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    }
  ],
  "edges": [
    {
      "id": "1",
      "source": "1",
      "target": "2",
      "data": {
        "type": "works_for",
        "properties": {
          "since": "2016-05-09"
        },
        "readAt": 692362800000
      }
    }
  ]
}

Node - Create a node

Add a node to the graph.

/api/:sourceKey/graph/nodes

Permission: API right: graphItem.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

categories string[]

Categories of the node

properties optional object

Properties of the node

Success 200

Field Type Description
id string

ID of the node

data object
  categories string

Categories of the node

  properties object

Properties of the node

  geo IGeoData

Coordinates of the node

  statistics optional object

Statistics of the node

    supernode optional boolean

Whether the node is a supernode

    digest optional LkDigestItem[]

Statistics of the neighborhood of the node

    degree optional number

Number of neighbors of the node readable by the current user

    supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

    supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

  readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "id": "1",
  "data": {
    "categories": ["Person"],
    "properties": {
      "name": "David"
    },
    "geo": {},
    "statistics": {
      "supernode": false,
      "digest": [
        {
          "nodeCategories": [
            "Company"
          ],
          "edgeType": "works_for",
          "nodes": 1,
          "edges": 1
        }
      ]
    },
    "readAt": 692362800000
  }
}

Node - Update a node

Update a subset of properties and categories of a node. Keep every other property and category of the node unchanged.

/api/:sourceKey/graph/nodes/:id

Permission: API right: graphItem.edit

Parameter

Field Type Description
sourceKey string

Key of the data-source

id string

ID of the node to update

addedCategories optional string[]

Categories of the node to add

deletedCategories optional string[]

Categories of the node to delete

properties optional object

Properties to update or create

deletedProperties optional string[]

Properties to delete

readAt optional number

Read timestamp in epoch time

Success 200

Field Type Description
id string

ID of the node

data object
  categories string

Categories of the node

  properties object

Properties of the node

  geo IGeoData

Coordinates of the node

  statistics optional object

Statistics of the node

    supernode optional boolean

Whether the node is a supernode

    digest optional LkDigestItem[]

Statistics of the neighborhood of the node

    degree optional number

Number of neighbors of the node readable by the current user

    supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

    supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

  readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "id": "1",
  "data": {
    "categories": ["Person"],
    "properties": {
      "name": "David"
    },
    "geo": {},
    "statistics": {
      "supernode": false,
      "digest": [
        {
          "nodeCategories": [
            "Company"
          ],
          "edgeType": "works_for",
          "nodes": 1,
          "edges": 1
        }
      ]
    },
    "readAt": 692362800000
  }
}

Node - Delete a node

Delete a node and its adjacent edges from the graph.

/api/:sourceKey/graph/nodes/:id

Permission: API right: graphItem.delete

Parameter

Field Type Description
sourceKey string

Key of the data-source

id string

ID of the node to delete

HTTP/1.1 204 No Content

Node - Get nodes count

Get the number of nodes in the graph.

/api/:sourceKey/graph/nodes/count

Permission: guest user  

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
   number

The number of nodes

HTTP/1.1 200 OK
42

Node - Get statistics of adjacent nodes

Get the digest (the number of adjacent nodes and edges grouped by node categories and edge types) and/or the degree of a given subset of nodes. You can't get aggregated statistics of a subset of nodes containing one or more supernodes. To get the statistics of a supernode invoke the API with only its node ID.

/api/:sourceKey/graph/neighborhood/statistics

Permission: guest user   , API right: graphItem.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

ids string[]

IDs of the nodes to retrieve the statistics for

withDigest optional boolean

Whether to get the adjacency digest

withDegree optional boolean

Whether to get the degree

Success 200

Field Type Description
digest optional LkDigestItem[]

Statistics of the neighborhood of the nodes

degree optional number

Number of neighbors of the nodes readable by the current user

HTTP/1.1 200 OK
{
  "digest": [
    {
      "edgeType": "ACTED_IN",
      "nodeCategories": [
        "TheMatrix",
        "Movie"
      ],
      "nodes": 1,
      "edges": 1
    }
  ],
  "degree": 1
}

Node - Get adjacent nodes and edges

Get all the adjacent nodes and edges to one or more source nodes. A subgraph made of the items that matched the expand query and the edges between them is returned.

/api/:sourceKey/graph/nodes/expand

Permission: guest user   , API right: graphItem.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

edgesTo optional string[]

IDs of nodes that are already visible (they won't be included in the result, but their adjacent edges will be included in the edges field if the other nodes are in nodes)

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

ids string[]

IDs of the nodes to retrieve the neighbors for

nodeCategories optional string

Exclusive list of node categories to restrict the result

edgeTypes optional string

Exclusive list of edge types to restrict the result

limit optional number

Maximum number of returned nodes

limitType optional string

Order direction used to limit the result

Default value: id

Allowed values: "id", "highestDegree", "lowestDegree"

Success 200

Field Type Description
nodes object[]
  id string

ID of the node

  data object
    categories string

Categories of the node

    properties object

Properties of the node

    geo IGeoData

Coordinates of the node

    statistics optional object

Statistics of the node

      supernode optional boolean

Whether the node is a supernode

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

      supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

      supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

    readAt number

Read timestamp in epoch time

edges object[]
  id string

ID of the edge

  source string

ID of the source node

  target string

ID of the target node

  data object
    type string

Type of the edge

    properties object

Properties of the edge

    readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "nodes": [
    {
      "id": "1",
      "data": {
        "categories": ["Person"],
        "properties": {
          "name": "David"
        },
        "geo": {},
        "statistics": {
          "supernode": false,
          "digest": [
            {
              "nodeCategories": [
                "Company"
              ],
              "edgeType": "works_for",
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    }
  ],
  "edges": [
    {
      "id": "1",
      "source": "1",
      "target": "2",
      "data": {
        "type": "works_for",
        "properties": {
          "since": "2016-05-09"
        },
        "readAt": 692362800000
      }
    }
  ]
}

Edge

Edge - Get an edge

Get an edge of the graph. A subgraph made of the edge and its extremities is returned.

/api/:sourceKey/graph/edges/:id

Permission: guest user   , API right: graphItem.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

edgesTo optional string[]

IDs of nodes that are already visible (they won't be included in the result, but their adjacent edges will be included in the edges field if the other nodes are in nodes)

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

id string

ID of the edge

Success 200

Field Type Description
nodes object[]
  id string

ID of the node

  data object
    categories string

Categories of the node

    properties object

Properties of the node

    geo IGeoData

Coordinates of the node

    statistics optional object

Statistics of the node

      supernode optional boolean

Whether the node is a supernode

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

      supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

      supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

    readAt number

Read timestamp in epoch time

edges object[]
  id string

ID of the edge

  source string

ID of the source node

  target string

ID of the target node

  data object
    type string

Type of the edge

    properties object

Properties of the edge

    readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "nodes": [
    {
      "id": "1",
      "data": {
        "categories": ["Person"],
        "properties": {
          "name": "David"
        },
        "geo": {},
        "statistics": {
          "supernode": false,
          "digest": [
            {
              "nodeCategories": [
                "Company"
              ],
              "edgeType": "works_for",
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    }
  ],
  "edges": [
    {
      "id": "1",
      "source": "1",
      "target": "2",
      "data": {
        "type": "works_for",
        "properties": {
          "since": "2016-05-09"
        },
        "readAt": 692362800000
      }
    }
  ]
}

Edge - Create an edge

Add an edge to the graph.

/api/:sourceKey/graph/edges

Permission: API right: graphItem.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

source string

ID of the source node

target string

ID of the target node

type string

Type of the edge

properties optional object

Properties of the edge

Success 200

Field Type Description
id string

ID of the edge

source string

ID of the source node

target string

ID of the target node

data object
  type string

Type of the edge

  properties object

Properties of the edge

  readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "id": "1",
  "source": "1",
  "target": "2",
  "data": {
    "type": "works_for",
    "properties": {
      "since": "2016-05-09"
    },
    "readAt": 692362800000
  }
}

Edge - Update an edge

Update a subset of properties of an edge. Keep every other property of the edge unchanged. It's not possible to update the type of an edge.

/api/:sourceKey/graph/edges/:id

Permission: API right: graphItem.edit

Parameter

Field Type Description
sourceKey string

Key of the data-source

id string

ID of the edge to update

properties optional object

Properties to update or create

deletedProperties optional string[]

Properties to delete

readAt optional number

Read timestamp in epoch time

Success 200

Field Type Description
id string

ID of the edge

source string

ID of the source node

target string

ID of the target node

data object
  type string

Type of the edge

  properties object

Properties of the edge

  readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
{
  "id": "1",
  "source": "1",
  "target": "2",
  "data": {
    "type": "works_for",
    "properties": {
      "since": "2016-05-09"
    },
    "readAt": 692362800000
  }
}

Edge - Delete an edge

Delete an edge from the graph.

/api/:sourceKey/graph/edges/:id

Permission: API right: graphItem.delete

Parameter

Field Type Description
sourceKey string

Key of the data-source

id string

ID of the edge to delete

HTTP/1.1 204 No Content

Edge - Get edges count

Get the number of edges in the graph.

/api/:sourceKey/graph/edges/count

Permission: guest user  

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
   number

The number of edges

HTTP/1.1 200 OK
42

Schema

Schema - Start the schema sampling

Start the schema sampling.

/api/admin/:sourceKey/schema/sampling/start

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

reset optional boolean

Whether to start with an empty schema

HTTP/1.1 204 No Content

Schema - Get the schema sampling status

Get the schema sampling status.

/api/:sourceKey/schema/sampling/status

Permission: guest user   , API right: schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
status string

The status of the schema sampling

Allowed values: "ongoing", "done", "error"

progress optional string

Percentage of the schema sampling

message optional string

A human readable string describing the schema sampling status

lastSampled optional string

Last time the data-source was sampled was executed in ISO-8601 format

HTTP/1.1 200 OK
{
  "status": "ongoing",
  "progress": "22.22",
  "message": "Sampling nodes with type: \"CITY\"",
  "lastSampled": "2019-05-16T08:23:35.730Z"
}

Schema - Stop the schema sampling

Stop the schema sampling.

/api/admin/:sourceKey/schema/sampling/stop

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

HTTP/1.1 204 No Content

Schema - Update the graph schema settings

Update the strict schema settings of the data-source.

/api/admin/:sourceKey/graph/schema/settings

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

strictSchema boolean

Whether the graph schema is in strict mode

HTTP/1.1 204 No Content

Schema - Create a new graph schema type

Add a new type to the graph schema.

/api/admin/:sourceKey/graph/schema/:entityType/types

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

entityType string

"node" or "edge"

Allowed values: "node", "edge"

itemType string

Name of the graph schema type

visibility optional string

Whether the type can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

Success 200

Field Type Description
itemType string

Name of the graph schema type

properties string[]

Empty list of properties

visibility string

Whether the type can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

HTTP/1.1 200 OK
{
  "itemType": "country",
  "properties": [],
  "visibility": "searchable"
}

Schema - Update a graph schema type

Update an existing graph schema type.

/api/admin/:sourceKey/graph/schema/:entityType/types

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

entityType string

"node" or "edge"

Allowed values: "node", "edge"

itemType string

Name of the graph schema type

visibility optional string

Whether the type can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

HTTP/1.1 204 No Content

Schema - Create a new graph schema property

Add a new property for a type on the graph schema.

/api/admin/:sourceKey/graph/schema/:entityType/properties

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

entityType string

"node" or "edge"

Allowed values: "node", "edge"

itemType string

Name of the graph schema type

propertyKey string

Name of the property

visibility string

Whether the property can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

propertyType object
  name string

Data type of the property

Allowed values: "auto", "boolean", "date", "datetime", "number", "string"

  options optional object

Additional propertyType information (required when propertyType.name is "date" or "datetime")

    values optional string[]

A list of values to restrict the value of the property (only applicable when propertyType is "string")

    format optional string

Storage format (required and only applicable when propertyType is "date" or "datetime")

Allowed values: "native", "iso", "dd/mm/yyyy", "mm/dd/yyyy", "timestamp", "timestamp-ms"

    timezone optional boolean

Whether to store a date-time value with a timezone, when set to false, a Neo4j LocalDateTime object will be used instead of a DateTime object (only applicable when propertyType is "datetime")

Allowed values: false

required boolean

Whether the property is required on data edition

Success 200

Field Type Description
propertyKey string

Name of the property

visibility string

Whether the property can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

propertyType object
  name string

Data type of the property

Allowed values: "auto", "boolean", "date", "datetime", "number", "string"

  options optional object

Additional propertyType information (required when propertyType.name is "date" or "datetime")

    values optional string[]

A list of values to restrict the value of the property (only applicable when propertyType is "string")

    format optional string

Storage format (required and only applicable when propertyType is "date" or "datetime")

Allowed values: "native", "iso", "dd/mm/yyyy", "mm/dd/yyyy", "timestamp", "timestamp-ms"

    timezone optional string

Timezone (format: "[+-]HH:MM | Z") (only applicable when propertyType is "datetime")

required boolean

Whether the property is required on data edition

propertyTypeConsistent boolean

Whether the property is indexed with the same type declared in the schema

indexed boolean

Whether the property is indexed or not

HTTP/1.1 200 OK
{
  "propertyKey": "nutri-score",
  "propertyType": {
    "name": "string",
    "options": {
      "values": ["A", "B", "C", "D", "E"]
    }
  },
  "visibility": "searchable",
  "required": true,
  "indexed": true,
  "propertyTypeConsistent": true
}

Schema - Update a graph schema property

Update an existing graph schema property.

/api/admin/:sourceKey/graph/schema/:entityType/properties

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

entityType string

"node" or "edge"

Allowed values: "node", "edge"

itemType string

Name of the graph schema type

propertyKey string

Name of the property

visibility optional string

Whether the property can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

propertyType optional object
  name string

Data type of the property

Allowed values: "auto", "boolean", "date", "datetime", "number", "string"

  options optional object

Additional propertyType information (required when propertyType.name is "date" or "datetime")

    values optional string[]

A list of values to restrict the value of the property (only applicable when propertyType is "string")

    format optional string

Storage format (required and only applicable when propertyType is "date" or "datetime")

Allowed values: "native", "iso", "dd/mm/yyyy", "mm/dd/yyyy", "timestamp", "timestamp-ms"

    timezone optional boolean

Whether to store a date-time value with a timezone, when set to false, a Neo4j LocalDateTime object will be used instead of a DateTime object (only applicable when propertyType is "datetime")

Allowed values: false

required optional boolean

Whether the property is required on data edition

Success 200

Field Type Description
propertyKey string

Name of the property

visibility string

Whether the property can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

propertyType object
  name string

Data type of the property

Allowed values: "auto", "boolean", "date", "datetime", "number", "string"

  options optional object

Additional propertyType information (required when propertyType.name is "date" or "datetime")

    values optional string[]

A list of values to restrict the value of the property (only applicable when propertyType is "string")

    format optional string

Storage format (required and only applicable when propertyType is "date" or "datetime")

Allowed values: "native", "iso", "dd/mm/yyyy", "mm/dd/yyyy", "timestamp", "timestamp-ms"

    timezone optional string

Timezone (format: "[+-]HH:MM | Z") (only applicable when propertyType is "datetime")

required boolean

Whether the property is required on data edition

propertyTypeConsistent boolean

Whether the property is indexed with the same type declared in the schema

indexed boolean

Whether the property is indexed or not

HTTP/1.1 200 OK
{
  "propertyKey": "nutri-score",
  "propertyType": {
    "name": "string",
    "options": {
      "values": ["A", "B", "C", "D", "E"]
    }
  },
  "visibility": "searchable",
  "required": true,
  "indexed": true,
  "propertyTypeConsistent": true
}

Schema - Get the full graph schema

List all the types and properties of a data-source.

/api/admin/:sourceKey/graph/schema/:entityType/types

Permission: User action: admin.schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

entityType string

"node" or "edge"

Success 200

Field Type Description
results object[]

All existing types in the graph schema

  itemType string

Name of the graph schema type

  visibility string

Whether the type can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

  properties object[]

Properties of itemType

    propertyKey string

Name of the property

    visibility string

Whether the property can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

    propertyTypeConsistent boolean

Whether the property is indexed with the same type declared in the schema

    indexed boolean

Whether the property is indexed or not

    propertyType object
      name string

Data type of the property

Allowed values: "auto", "boolean", "date", "datetime", "number", "string"

      options optional object

Additional propertyType information (required when propertyType.name is "date" or "datetime")

        values optional string[]

A list of values to restrict the value of the property (only applicable when propertyType is "string")

        format optional string

Storage format (required and only applicable when propertyType is "date" or "datetime")

Allowed values: "native", "iso", "dd/mm/yyyy", "mm/dd/yyyy", "timestamp", "timestamp-ms"

        timezone optional boolean

Whether to store a date-time value with a timezone, when set to false, a Neo4j LocalDateTime object will be used instead of a DateTime object (only applicable when propertyType is "datetime")

Allowed values: false

    required boolean

Whether the property is required on data edition

HTTP/1.1 200 OK
{
  "results": [
    {
      "itemType": "country",
      "visibility": "searchable",
      "properties": [
        {
          "propertyKey": "GDP",
          "propertyType": {"name": "number"},
          "visibility": "searchable",
          "required": false,
          "indexed": true,
          "propertyTypeConsistent": true
        },
        {
          "propertyKey": "capital city",
          "propertyType": {"name": "string"},
          "visibility": "searchable",
          "required": true,
          "indexed": true,
          "propertyTypeConsistent": true
        }
      ]
    }
  ]
}

Schema - Get the readable graph schema with access rights

List all the readable types and properties of a data-source.

/api/:sourceKey/graph/schema/:entityType/types

Permission: guest user   , API right: schema

Parameter

Field Type Description
sourceKey string

Key of the data-source

entityType string

"node" or "edge"

Success 200

Field Type Description
any object
  access string

Default access level

Allowed values: "read", "edit", "write", "none"

results object[]

All readable types in the graph schema

  access string

Access level of the graph schema type

Allowed values: "read", "edit", "write"

  itemType string

Name of the graph schema type

  properties object[]

Properties of itemType

    visibility string

Whether the property can be searched, visualized or it is hidden

Allowed values: "visible", "searchable", "none"

    indexed boolean

Whether the property is indexed or not

    propertyType object
      name string

Data type of the property

Allowed values: "auto", "boolean", "date", "datetime", "number", "string"

      options optional object

Additional propertyType information (required when propertyType.name is "date" or "datetime")

        values optional string[]

A list of values to restrict the value of the property (only applicable when propertyType is "string")

        format optional string

Storage format (required and only applicable when propertyType is "date" or "datetime")

Allowed values: "native", "iso", "dd/mm/yyyy", "mm/dd/yyyy", "timestamp", "timestamp-ms"

        timezone optional boolean

Whether to store a date-time value with a timezone, when set to false, a Neo4j LocalDateTime object will be used instead of a DateTime object (only applicable when propertyType is "datetime")

Allowed values: false

    required boolean

Whether the property is required on data edition

    access optional string

Access level of the property (if property key access rights are enabled)

Allowed values: "read", "edit"

HTTP/1.1 200 OK
{
  "any": {
    "access": "none"
  },
  "results": [
    {
      "name": "Movie",
      "access": "edit",
      "properties": [
        {
          "propertyKey": "released",
          "propertyType": {
            "name": "date",
            "options": {
              "format": "iso"
            }
          },
          "visibility": "searchable",
          "required": false,
          "indexed": true,
          "access": "read"
        },
        {
          "propertyKey": "title",
          "propertyType": "string",
          "visibility": "searchable",
          "required": true,
          "indexed": true,
          "access": "read"
        }
      ]
    }
  ]
}

Visualization

Visualization - Get visualizations count

Get the total number of visualizations in this data-source.

/api/:sourceKey/visualizations/count

Permission: guest user  

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
count number

Visualization - Get a visualization

Get a visualization by id.

/api/:sourceKey/visualizations/:id

Permission: API right: visualization.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the visualization

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

Success 200

Field Type Description
visualization object

The visualization

  id number

ID of the visualization

  title string

Title of the visualization

  folder number

Parent visualizationFolder ID (-1 for root folder)

  nodes object[]

Nodes in this visualization

    id string

ID of the node (native or alternative ID)

    nodelink number

The node position (in "nodelink" mode)

      x number

X coordinate of the node

      y number

Y coordinate of the node

    geo number

The node position (in "geo" mode)

      latitude optional number

Latitude of the node (decimal format)

      longitude optional number

Longitude of the node (decimal format)

      latitudeDiff number

Latitude diff (if the node has been dragged)

      longitudeDiff number

Longitude diff (if the node has been dragged)

    selected boolean

Whether the node is selected

    data optional object

Properties of the node

    categories optional string[]

Categories of the node

    statistics optional object

Statistics of the node

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

    readAt number

Read timestamp in epoch time

  edges object[]

Edges in this visualization

    id string

ID of the edge (native or alternative ID)

    selected boolean

Whether the edge is selected

    type optional string

Type of the edge

    data optional object

Properties of the edge

    source optional string

Source of the edge

    target optional string

Target of the edge

    readAt number

Read timestamp in epoch time

  design object

Design

    styles object

Style mappings

      node INodeStyle[]

Node Styles

      edge IEdgeStyle[]

Edge Styles

    palette object

Color and icon palette

  mode string

The current interaction mode

Allowed values: "nodelink", "geo"

  layout object

The last used layout

    algorithm string

Layout algorithm name ("force", "hierarchical")

    mode string

Layout algorithm mode (depends on the algorithm)

    incremental optional string

Whether the layout is incremental (only for "force" algorithm)

  geo object

Geographical info

    latitudeProperty optional string

Property name containing the latitude

    layers string[]

Names of enabled leaflet tile layers

  alternativeIds object

Used to reference nodes or edges by a property instead of their database ID

    node optional string

Node property to use as identifier instead of database ID

    edge optional string

Edge property to use as identifier instead of database ID

  filters object

Filters

    node Selector[]

Nodes filter rules

    edge Selector[]

Edges filter rules

  sourceKey string

Key of the data-source

  user object

Owner of the visualization

  userId number

ID of the owner of the visualization

  widgetKey string

Key of the widget (null if the no widget exists)

  sandbox boolean

Whether the visualization is the sandbox

  right string

Right on the visualization of the current user

  nodeFields object

ICaptions and fields options

    captions NodeCaption

ICaption descriptions indexed by node category

  edgeGrouping object

Key value pairs representing the edge type that should be grouped

    [edge-type] boolean

Whether the edge type should be grouped or not

  edgeFields object

ICaptions and fields options

    captions EdgeCaption

ICaption descriptions indexed by edge type

  timeline optional object

Visualization timeline

    edge object

Edge

    node object

Node

    zoomLevel optional string

Zoom level of visualization timeline

Allowed values: "years", "months", "days", "hours", "minutes", "seconds"

    range optional IRangeValues

Range values for timeline

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "visualization": {
    "id": 2,
    "title": "Viz name",
    "folder": -1,
    "nodes": [
      {
        "id": 1,
        "nodelink": {
          "x": 10.124,
          "y": 12.505
        },
        "geo": {
          "latitudeDiff": 0,
          "longitudeDiff": 0
        },
        "selected": true,
        "data": {
          "firstName": "David"
        },
        "categories": [
          "Person"
        ],
        "statistics": {
          "digest": [
            {
              "edgeType": "worksAt",
              "nodeCategories": [
                "Company"
              ],
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      },
      {
        "id": 2,
        "nodelink": {
          "x": -6.552,
          "y": -8.094
        },
        "geo": {
          "latitudeDiff": 0,
          "longitudeDiff": 0
        },
        "data": {
          "name": "Linkurious"
        },
        "categories": [
          "Company"
        ],
        "statistics": {
          "digest": [
            {
              "edgeType": "worksAt",
              "nodeCategories": [
                "Person"
              ],
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    ],
    "edges": [
      {
        "id": 0,
        "type": "worksAt",
        "data": {},
        "source": 1,
        "target": 2,
        "readAt": 692362800000
      }
    ],
    "nodeFields": {
      "captions": {
        "Person": {
          "active": true,
          "displayName": true,
          "properties": []
        },
        "Company": {
          "active": true,
          "displayName": true,
          "properties": []
        },
        "No category": {
          "active": true,
          "displayName": true,
          "properties": []
        }
      }
    },
    "edgeFields": {
      "captions": {
        "worksAt": {
          "name": "worksAt",
          "active": true,
          "displayName": true,
          "properties": []
        }
      }
    },
    "design": {
      // ...
    },
    "filters": {
       "node": [{
         "type": "any",
         "itemType": "Person",
         "input": ["properties", "firstName"],
         "value": "David"
       }],
       "edge": []
    },
    "edgeGrouping": {
      "Transaction": true,
      "Has_BankAccount": false
    },
    "sourceKey": "860555c4",
    "user": {
      "id": 1,
      "username": "Unique user",
      "email": "user@linkurio.us",
      "source": "local",
      "preferences": {
        "pinOnDrag": false,
        "locale": "en-US",
        "incrementalLayout": false
      }
    },
    "userId": 1,
    "sandbox": false,
    "createdAt": "2017-06-01T12:30:40.397Z",
    "updatedAt": "2017-06-01T12:30:55.389Z",
    "alternativeIds": {},
    "mode": "nodelink",
    "layout": {
      "incremental": false,
      "algorithm": "force",
      "mode": "fast"
    },
    "geo": {
      "layers": []
    },
    "right": "owner",
    "widgetKey": null
  }
}

Visualization - Create a visualization

Create a new visualization.

/api/:sourceKey/visualizations

Permission: API right: visualization.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

title string

Title of the new visualization

folder optional number

ID of the folder to save the visualization in. (-1 for root)

Default value: -1

nodes object[]

Nodes in this visualization

  id string

Identifier of the node (native ID or alternative ID, see alternativeIds)

  attributes object

The node position information (in "nodelink" mode)

    x number

X coordinate of the node

    y number

Y coordinate of the node

    selected optional boolean

Whether the node is selected

    layoutable boolean

Whether the node is layoutable

  data object

The node position information

    geo optional object

The geographic position information of node (in "geo" mode)

      original optional object

Original position of node (decimal format)

      current optional object

Current position of node (decimal format)

      latitude number

Latitude value

      longitude number

Longitude value

      latitude number

Latitude value

      longitude number

Longitude value

edges object[]

Edges in this visualization

  id string

Identifier of the edge (native ID or alternative ID, see alternativeIds)

  attributes object

Edge attributes

    selected optional boolean

Whether the edge is selected

alternativeIds optional object

If nodes and/or edges should be referenced by a property instead of their database ID

  node optional string

Node property to use as identifier instead of database ID

  edge optional string

Edge property to use as identifier instead of database ID

layout optional object

The last layout used

  algorithm optional string

Layout algorithm

Allowed values: "force", "hierarchical"

  mode optional string

Layout algorithm mode (depends on algorithm)

  incremental optional boolean

Whether the layout is incremental (only for "force" algorithm)

mode optional string

The current interaction mode

Default value: nodelink

Allowed values: "nodelink", "geo"

geo optional object

Geographical info

  layers string[]

Names of used leaflet tile layers

design optional object

Design

  styles object

Color, size and icon mapping

    node INodeStyle[]

Node IStyles

    edge IEdgeStyle[]

Edge IStyles

  palette object

Color and icon palette

filters optional object

Filters

  node optional Selector[]

Nodes filter rules

  edge optional Selector[]

Edges filter rules

nodeFields object

ICaptions and fields options

  captions NodeCaption

ICaption descriptions indexed by node-category

edgeFields object

ICaptions and fields options

  captions EdgeCaption

ICaption descriptions indexed by edge-type

timeline optional object

Visualization timeline

  edge object

Edge

  node object

Node

  zoomLevel optional string

Zoom level of visualization timeline

Allowed values: "years", "months", "days", "hours", "minutes", "seconds"

  range optional IRangeValues

Range values for timeline

Success 200

Field Type Description
visualization object

The visualization object

  title string

Title of the visualization

  folder number

Parent visualizationFolder ID (null for root folder)

  nodes object[]

Nodes in this visualization

    id string

Identifier of the node (native ID or alternative ID, see alternativeIds)

    selected boolean

Whether the node is selected

    nodelink number

The node position information (in "nodelink" mode)

      x number

X coordinate of the node

      y number

Y coordinate of the node

      fixed boolean

Whether the node position has been locked

    geo number

The node position information (in "geo" mode)

      latitude number

Latitude of the node (decimal format)

      longitude number

Longitude of the node (decimal format)

      latitudeDiff number

Latitude diff (if the node has been dragged)

      longitudeDiff number

Longitude diff (if the node has been dragged)

  edges object[]

Edges in this visualization

    id string

Identifier of the edge (native ID or alternative ID, see alternativeIds)

    selected boolean

Whether the edge is selected

  alternativeIds object

Used to reference nodes or edges by a property instead of their database ID

    node string

Node property to use as identifier instead of database ID

    edge string

Edge property to use as identifier instead of database ID

  layout object

The last used layout

    algorithm string

Layout algorithm name ("force", "hierarchical")

    mode string

Layout algorithm mode (depends on algorithm)

    incremental string

Whether the layout is incremental (only for "force" algorithm)

  geo object

Geographical info

    latitudeProperty string

Node property containing the latitude

    longitudeProperty string

Node property containing the longitude

    layers string[]

Names of enabled leaflet tile layers

  mode string

The current interaction mode

Allowed values: "nodelink", "geo"

  design object

Design

    styles object

Style mappings

      node INodeStyle[]

Node IStyles

      edge IEdgeStyle[]

Edge IStyles

    palette object

Color and icon palette

  filters object[]

Filters

    node Selector[]

Node filter rules

    edge Selector[]

Edge filter rules

  nodeFields object

ICaptions and fields options

    captions NodeCaption

ICaption descriptions indexed by node-category

  edgeGrouping object

Key value pairs representing the edge type that should be grouped

    [edge-type] boolean

Whether the edge type should be grouped or not

  edgeFields object

ICaptions and fields options

    captions EdgeCaption

ICaption descriptions indexed by edge-type

  timeline optional object

Visualization timeline

    edge object

Edge

    node object

Node

    zoomLevel optional string

Zoom level of visualization timeline

Allowed values: "years", "months", "days", "hours", "minutes", "seconds"

    range optional IRangeValues

Range values for timeline

Visualization - Duplicate a visualization

Duplicate a visualization. Return the id of the copy.

/api/:sourceKey/visualizations/:id/duplicate

Permission: API right: visualization.duplicate

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

The id of the visualization to duplicate

title optional string

Name of the created visualization (defaults to "Copy of [source title]")

folder optional number

ID of the folder to duplicate the visualization to (defaults to the source visualization's folder)

Success 200

Field Type Description
result object
  visualizationId number

The id of the visualization copy

Visualization - Delete a visualization

Delete the visualization selected by id.

/api/:sourceKey/visualizations/:id

Permission: API right: visualization.delete

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

Visualization ID

HTTP/1.1 204 No Content

Visualization - Update a visualization

Update the visualization selected by id.

/api/:sourceKey/visualizations/:id

Permission: API right: visualization.edit

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

Visualization ID

visualization object

The visualization object. Only passed fields will be updated

forceLock optional boolean

Take the edit-lock by force (in case the current user doesn't own it)

doLayout optional boolean

Do a server-side layout of the visualization graph

Visualization - Get visualizations shared with current user

Get all visualizations shared with the current user.

/api/:sourceKey/visualizations/shared

Permission: API right: visualization.list

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
title string

Title of the visualization

visualizationId number

ID of the visualization

ownerId number

ID of the user that owns the visualization

sourceKey string

Key of the data-source the visualization is related to

Visualization - Create a visualization folder

Create a visualization folder.

/api/:sourceKey/visualizations/folder

Permission: API right: visualizationFolder.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

title string

Folder title

parent number

Parent folder id

Visualization - Update a visualization folder

Update a visualization folder.

/api/:sourceKey/visualizations/folder/:id

Permission: API right: visualizationFolder.edit

Parameter

Field Type Description
sourceKey string

Key of the data-source

title optional string

Title

parent optional number

ID of the parent visualization folder

id number

ID of the visualization folder

Visualization - Delete a visualization folder

Delete a visualization folder.

/api/:sourceKey/visualizations/folder/:id

Permission: API right: visualizationFolder.delete

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

visualization folder ID

Visualization - Get the visualization tree

Get the visualizations and the visualization folders in a tree structure.

/api/:sourceKey/visualizations/tree

Permission: API right: visualization.list

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
response object
  tree object[]
    type string

"visu" or "folder"

    id number

visualization or folder ID

    title string

visualization or folder title

    children optional object[]

children visualizations and folders (mandatory when type is "folder")

    shareCount optional number

number of users a visualization is shared with (mandatory type is "visu")

    widgetKey optional string

widgetKey of the widget created for this visualization (possible if type is "visu")

HTTP/1.1 200 OK
{
  "tree": [
   {
     "id": 1,
     "type": "folder",
     "title": "Toto",
     "children": [
       {
         "id": 2,
         "type": "folder",
         "title": "Titi",
         "children": [
           {
             "id": 3,
             "type": "visu",
             "title": "vis. three",
             "shareCount": 0,
             "widgetKey": "aef3ce"
           }
         ]
       },
       {
         "id": 1,
         "type": "visu",
         "title": "a",
         "shareCount": 0
       },
       {
         "id": 2,
         "type": "visu",
         "title": "vis. two",
         "shareCount": 0
       }
     ]
   },
   {
     "id": 4,
     "type": "visu",
     "title": "vis. four",
     "shareCount": 0
   }
 ]
}

Visualization - Get the visualization sandbox

Get the visualization sandbox of the current user for a given data-source

/api/:sourceKey/sandbox

Permission: guest user   , API right: sandbox

# Visualization by ID
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=visualizationId&item_id=123"

# Node by ID
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=nodeId&item_id=123"

# Edge by ID
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=edgeId&item_id=456"

# Node by ID + neighbors
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=expandNodeId&item_id=123"

# Nodes by search query
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=searchNodes&search_query=paris&search_fuzziness=0.2"

# Edges by search query
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=searchEdges&search_query=has_city"

# Nodes and/or edges by pattern query
curl -i "http://localhost:3000/api/e4b5d8/sandbox?populate=pattern&pattern_dialect=cypher&pattern_query=MATCH+(n1)-%5Be%5D-(n2)+WHERE+ID(n1)%3D10+RETURN+e"

Parameter

Field Type Description
sourceKey string

Key of the data-source

populate optional string

Describes how the sandbox should be populated

Allowed values: "visualizationId", "expandNodeId", "nodeId", "edgeId", "searchNodes", "searchEdges", "pattern", "caseId"

itemId optional string

ID of the node, edge or visualization to load (when populate is one of ["visualizationId", "nodeId", "edgeId", "expandNodeId"])

caseId optional number

ID of alert case to load (when populate is "caseId")

searchQuery optional string

Search query to search for nodes or edges (when populate is one of ["searchNodes", "searchEdges"])

searchFuzziness optional number

Search query fuzziness (when populate is one of ["searchNodes", "searchEdges"])

Default value: 0.1

Size range: 0-1

patternQuery optional string

Pattern query to match nodes and/or edges (when populate is "pattern")

doLayout optional boolean

Whether to do a server-side layout of the graph

patternDialect optional string

Pattern dialect (when populate is "pattern")

Allowed values: "cypher", "gremlin"

withDigest optional boolean

Whether to include the adjacency digest in the returned nodes

withDegree optional boolean

Whether to include the degree in the returned nodes

Visualization - Update the visualization sandbox

Update the sandbox of the current user for a given data-source.

/api/:sourceKey/sandbox

Permission: API right: sandbox

Parameter

Field Type Description
sourceKey string

Key of the data-source

design optional object

Visualization design object

nodeFields optional object

Node fields of visualization

edgeFields optional object

Edge fields of visualization

geo optional object

Geographical params of visualization

Visualization - Get visualization share rights

Get all share rights on a visualization

/api/:sourceKey/visualizations/:id/shares

Permission: API right: visualizationShare.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

Visualization ID

Success 200

Field Type Description
res object

result object

  owner object

Owner of the shares

    id number

Owner's user id

    source boolean

Owner's source ('local', 'ldap', 'oauth', etc.)

    username string

Owner's username

    email string

Owner's email

  shares object[]

Description of all shares defined by owner

    userId number

ID of the target user of this share

    username string

Username of the target user of this share

    email string

Email of the target user of this share

    visualizationId number

ID of the shared visualization

    right string

type of right granted to target user ("read", "write" or "owner")

Visualization - Share a visualization

Set the share right of a user on a visualization.

/api/:sourceKey/visualizations/:id/share/:userId

Permission: API right: visualizationShare.create

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

Visualization ID to grant access to

userId number

User ID to grant access to

right string

Granted access level

Allowed values: "read", "write"

Success 200

Field Type Description
visualizationId number

ID of the shared visualization

userId number

ID of the user the visualization has been shared with

right string

Name of the right ("none", "read", "write" or "owner")

createdAt string

Date the visualization has been shared

updatedAt string

Date at which the share has been updated

Visualization - Un-share a visualization

Remove a share right of a user on a visualization.

/api/:sourceKey/visualizations/:id/share/:userId

Permission: API right: visualizationShare.delete

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

Visualization ID to revoke access from

userId number

User ID to revoke access of

Visualization - Get a widget

Get a visualization widget's data by key.

/api/widget/:widgetKey

Permission: API right: widget.read

Parameter

Field Type Description
widgetKey string

the key of a widget

Success 200

Field Type Description
title string

the title of the visualization used to generate this widget

widgetKey string

the key of this widget

userId number

the owner ID of the visualization used to generate this widget

visualizationId number

the ID of the visualization used to generate this widget

password boolean

Whether password protection is enabled

content object

the content of the widget, as sent while generating this widget

HTTP/1.1 200 OK

{
  "title": "Foo Bar",
  "widgetKey": "key",
  "userId": 12,
  "password": false,
  "visualizationId": 3,
  "content": {
     "widgetKey": "value"
  }
}

Visualization - Create a widget

Create a widget for a visualization.

/api/widget

Permission: API right: widget.create

Parameter

Field Type Description
visualizationId number

The visualization id

options optional object

The configuration of the user interface elements

  search optional boolean

Whether the search bar is shown

  share optional boolean

The the share button is shown

  fullscreen optional boolean

Whether the full-screen button is shown

  zoom optional boolean

Whether to zoom-in and zoom-out controllers are shown

  legend optional boolean

Whether the graph legend is shown

  geo optional boolean

Whether the geo-mode toggle button is visible. Ignored if the nodes don't have geo coordinates

  password optional string

Optional password to protect the widget

Success 200

Field Type Description
widgetKey string

The key of the created widget

Visualization - Update a widget

Update the widget of a visualization.

/api/widget

Permission: API right: widget.edit

Parameter

Field Type Description
visualizationId number

The visualization id

options optional object

The configuration of the user interface elements

  search optional boolean

Whether the search bar is shown

  share optional boolean

The the share button is shown

  fullscreen optional boolean

Whether the full-screen button is shown

  zoom optional boolean

Whether to zoom-in and zoom-out controllers are shown

  legend optional boolean

Whether the graph legend is shown

  geo optional boolean

Whether the geo-mode toggle button is visible. Ignored if the nodes don't have geo coordinates

  password optional string

Optional password to protect the widget

Success 200

Field Type Description
widgetKey string

The key of the updated widget

Visualization - Delete a widget

Delete the widget of a visualization.

/api/widget/:widgetKey

Permission: API right: widget.delete

Parameter

Field Type Description
widgetKey string

the key of the widget to delete

Alert

- Create an alert

Create a new alert.

/api/admin/:sourceKey/alerts

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

title string

Title of the alert

description optional string

Description of the alert

query string

Graph query that will run periodically

dialect string

Dialect of the graph query

enabled boolean

Whether the query will run periodically or not

folder optional number

ID of the alert folder (-1 for root folder)

columns object[]

Columns among the returned values of the query to save in a case as scalar values (maximum 5)

  type string

Type of the column

Allowed values: "number", "string"

  columnName string

Name of the column in the query

  columnTitle string

Name of the column for the UI

cron string

CRON expression representing the frequency with which the query runs

target string

The alert's target

sharing string

Sharing policy of the alert

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the alert is shared with (if sharing="groups")

Success 200

Field Type Description
id number

ID of the alert

folder number

ID of the alert folder (-1 for root folder)

title string

Title of the alert

description optional string

Description of the alert

sourceKey string

Key of the data-source

query string

Graph query that will run periodically

target string

Target of the alert

dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

enabled boolean

Whether the query will run periodically or not

columns object[]

Columns among the returned values of the query to save in a case as scalar values

  type string

Type of the column

Allowed values: "number", "string"

  columnName string

Name of the column in the query

  columnTitle string

Name of the column for the UI

cron string

CRON expression representing the frequency with which the query runs

lastRun optional string

Last time the query was executed in ISO-8601 format

lastRunProblem optional object

Object representing the problem in the last run

  error string

Error that identifies the last run problem

  partial boolean

Whether the last run was at least partially executed

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

nextRun optional string

Date when the alert will be executed next in ISO-8601 format

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

HTTP/1.1 200 OK
{
  "id": 8,
  "folder": 4,
  "title": "alert_title",
  "sourceKey": "584f2569",
  "query": "MATCH (n1)-[r:DIRECTED]-(n2) RETURN n1, n1.score",
  "dialect": "cypher",
  "enabled": true,
  "columns": [
    {"type": "number", "columnName": "n1.score", "columnTitle": "Score"}
  ],
  "cron": "0 0 * * *",
  "maxCases": 20,
  "userId": 1,
  "updatedAt": "2016-05-16T08:23:35.730Z",
  "createdAt": "2016-05-16T08:23:35.730Z",
  "nextRun": "2016-08-15T00:00:00.000Z",
  "sharing": "groups",
  "sharedWithGroups": [1, 2, 3]
}

- Update an alert

Update the alert selected by id. Updating an alert query will results in all the previous detected cases deleted.

/api/admin/:sourceKey/alerts/:id

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the alert

title optional string

Title of the alert

description optional string

Description of the alert

query optional string

Graph query that will run periodically

dialect optional string

Dialect of the graph query

enabled optional boolean

Whether the query will run periodically or not

folder optional number

ID of the alert folder (-1 for root folder)

columns optional object[]

Columns among the returned values of the query to save in a case as scalar values (maximum 5)

  type string

Type of the column

Allowed values: "number", "string"

  columnName string

Name of the column in the query

  columnTitle string

Name of the column for the UI

cron optional string

CRON expression representing the frequency with which the query runs

target optional string

The alert's target

sharing optional string

Sharing policy of the alert

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the alert is shared with (if sharing="groups")

Success 200

Field Type Description
id number

ID of the alert

folder number

ID of the alert folder (-1 for root folder)

title string

Title of the alert

description optional string

Description of the alert

sourceKey string

Key of the data-source

query string

Graph query that will run periodically

target string

Target of the alert

dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

enabled boolean

Whether the query will run periodically or not

columns object[]

Columns among the returned values of the query to save in a case as scalar values

  type string

Type of the column

Allowed values: "number", "string"

  columnName string

Name of the column in the query

  columnTitle string

Name of the column for the UI

cron string

CRON expression representing the frequency with which the query runs

lastRun optional string

Last time the query was executed in ISO-8601 format

lastRunProblem optional object

Object representing the problem in the last run

  error string

Error that identifies the last run problem

  partial boolean

Whether the last run was at least partially executed

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

nextRun optional string

Date when the alert will be executed next in ISO-8601 format

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

HTTP/1.1 200 OK
{
  "id": 8,
  "folder": 4,
  "title": "alert_title",
  "sourceKey": "584f2569",
  "query": "MATCH (n1)-[r:DIRECTED]-(n2) RETURN n1, n1.score",
  "dialect": "cypher",
  "enabled": true,
  "columns": [
    {"type": "number", "columnName": "n1.score", "columnTitle": "Score"}
  ],
  "cron": "0 0 * * *",
  "maxCases": 20,
  "userId": 1,
  "updatedAt": "2016-05-16T08:23:35.730Z",
  "createdAt": "2016-05-16T08:23:35.730Z",
  "nextRun": "2016-08-15T00:00:00.000Z",
  "sharing": "groups",
  "sharedWithGroups": [1, 2, 3]
}

- Delete an alert

Delete the alert by id and all its cases.

/api/admin/:sourceKey/alerts/:id

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the alert to delete

HTTP/1.1 204 No Content

- Execute an alert

Execute an alert.

/api/admin/:sourceKey/alerts/:id/run

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the alert to execute

HTTP/1.1 204 No Content

- Create an alert folder

Create an alert folder.

/api/admin/:sourceKey/alerts/folder

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

title string

Title of the alert folder

Success 200

Field Type Description
id number

ID of the alert folder

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

title string

Title of the alert folder

parent -1

ID of the parent alert folder

HTTP/1.1 201 OK
{
  "id": 1,
  "createdAt": "2019-06-14T15:41:26.995Z",
  "updatedAt": "2019-06-14T15:41:26.995Z",
  "title": "My alert folder",
  "parent": -1
}

- Update an alert folder

Update an alert folder.

/api/admin/:sourceKey/alerts/folder/:id

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the alert folder

title string

Title

Success 200

Field Type Description
id number

ID of the alert folder

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

title string

Title of the alert folder

parent -1

ID of the parent alert folder

HTTP/1.1 201 OK
{
  "id": 1,
  "createdAt": "2019-06-14T15:41:26.995Z",
  "updatedAt": "2019-06-14T15:41:26.995Z",
  "title": "My alert folder",
  "parent": -1
}

- Delete an alert folder

Delete an alert folder.

/api/admin/:sourceKey/alerts/folder/:id

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the alert folder to delete

HTTP/1.1 204 No Content

- Get the alert tree

Get the alerts and the alert folders in a tree structure.

/api/:sourceKey/alerts/tree

Permission: API right: alert.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

Success 200

Field Type Description
id number

ID of the root alert folder (always -1)

type string

Type of the item

Allowed values: "folder"

title string

Title of the root alert folder

children object[]

An array of alert folders or alerts

HTTP/1.1 200 OK
{
  "id": -1,
  "title": "root",
  "type": "folder",
  "children": [
    {
      "id": 1,
      "title": "my alert folder",
      "type": "folder",
      "children": [
        {
          "id": 8,
          "folder": 4,
          "title": "alert_title",
          "sourceKey": "584f2569",
          "query": "MATCH (n1)-[r:DIRECTED]-(n2) RETURN n1, n1.score",
          "dialect": "cypher",
          "enabled": true,
          "columns": [
            {"type": "number", "columnName": "n1.score", "columnTitle": "Score"}
          ],
          "cron": "0 0 * * *",
          "maxCases": 20,
          "userId": 1,
          "updatedAt": "2016-05-16T08:23:35.730Z",
          "createdAt": "2016-05-16T08:23:35.730Z",
          "nextRun": "2016-08-15T00:00:00.000Z"
        }
      ]
    }
  ]
}

- Get an alert

Get an alert by id.

/api/:sourceKey/alerts/:id

Permission: API right: alert.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

id number

ID of the alert

Success 200

Field Type Description
id number

ID of the alert

folder number

ID of the alert folder (-1 for root folder)

title string

Title of the alert

description optional string

Description of the alert

sourceKey string

Key of the data-source

query string

Graph query that will run periodically

target string

Target of the alert

dialect string

Dialect of the graph query

Allowed values: "cypher", "gremlin"

enabled boolean

Whether the query will run periodically or not

columns object[]

Columns among the returned values of the query to save in a case as scalar values

  type string

Type of the column

Allowed values: "number", "string"

  columnName string

Name of the column in the query

  columnTitle string

Name of the column for the UI

cron string

CRON expression representing the frequency with which the query runs

lastRun optional string

Last time the query was executed in ISO-8601 format

lastRunProblem optional object

Object representing the problem in the last run

  error string

Error that identifies the last run problem

  partial boolean

Whether the last run was at least partially executed

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

nextRun optional string

Date when the alert will be executed next in ISO-8601 format

sharing string

Sharing policy of the graph query

Allowed values: "private", "source", "groups"

sharedWithGroups optional number[]

IDs of the groups the graph query is shared with (if sharing="groups")

HTTP/1.1 200 OK
{
  "id": 8,
  "folder": 4,
  "title": "alert_title",
  "sourceKey": "584f2569",
  "query": "MATCH (n1)-[r:DIRECTED]-(n2) RETURN n1, n1.score",
  "dialect": "cypher",
  "enabled": true,
  "columns": [
    {"type": "number", "columnName": "n1.score", "columnTitle": "Score"}
  ],
  "cron": "0 0 * * *",
  "maxCases": 20,
  "userId": 1,
  "updatedAt": "2016-05-16T08:23:35.730Z",
  "createdAt": "2016-05-16T08:23:35.730Z",
  "nextRun": "2016-08-15T00:00:00.000Z",
  "sharing": "groups",
  "sharedWithGroups": [1, 2, 3]
}

- Get a case

Get a case by id.

/api/:sourceKey/alerts/:alertId/cases/:caseId

Permission: API right: alert.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

alertId number

ID of the alert

caseId number

ID of the case

Success 200

Field Type Description
id number

ID of the case

sourceKey string

Key of the data-source

alertId number

ID of the alert

hash string

Hash of the case

status string

Status of the case

Allowed values: "unconfirmed", "in-progress", "confirmed", "dismissed"

user optional object

Last user that changed the status

  id number

ID of the user

  username string

Username of the user

  email string

E-mail of the user

viewers object[]

Users that viewed the case (ordered by date in decreasing order)

  id number

ID of the user

  username string

Username of the user

  email string

E-mail of the user

  date string

Date of the view in ISO-8601 format

nodes string[]

IDs of the nodes of the case

edges string[]

IDs of the edges of the case

columns string[]

Scalar value for a given column by index defined in the alert

assignedUser optional object

The user assigned to the case

  id number

ID of the assigned user

  username string

Username of the assigned user

  email string

E-mail of the assigned user

visualization object

The case visualization

  nodes object[]

Nodes in this visualization

    id string

ID of the node (native or alternative ID)

    nodelink number

The node position (in "nodelink" mode)

      x number

X coordinate of the node

      y number

Y coordinate of the node

    geo number

The node position (in "geo" mode)

      latitude optional number

Latitude of the node (decimal format)

      longitude optional number

Longitude of the node (decimal format)

      latitudeDiff number

Latitude diff (if the node has been dragged)

      longitudeDiff number

Longitude diff (if the node has been dragged)

    selected boolean

Whether the node is selected

    data optional object

Properties of the node

    categories optional string[]

Categories of the node

    statistics optional object

Statistics of the node

      digest optional LkDigestItem[]

Statistics of the neighborhood of the node

      degree optional number

Number of neighbors of the node readable by the current user

    readAt number

Read timestamp in epoch time

  edges object[]

Edges in this visualization

    id string

ID of the edge (native or alternative ID)

    selected boolean

Whether the edge is selected

    type optional string

Type of the edge

    data optional object

Properties of the edge

    source optional string

Source of the edge

    target optional string

Target of the edge

    readAt number

Read timestamp in epoch time

  design object

Design

    styles object

Style mappings

      node INodeStyle[]

Node Styles

      edge IEdgeStyle[]

Edge Styles

    palette object

Color and icon palette

  mode string

The current interaction mode

Allowed values: "nodelink", "geo"

  layout object

The last used layout

    algorithm string

Layout algorithm name ("force", "hierarchical")

    mode string

Layout algorithm mode (depends on the algorithm)

    incremental optional string

Whether the layout is incremental (only for "force" algorithm)

  geo object

Geographical info

    latitudeProperty optional string

Property name containing the latitude

    layers string[]

Names of enabled leaflet tile layers

  alternativeIds object

Used to reference nodes or edges by a property instead of their database ID

    node optional string

Node property to use as identifier instead of database ID

    edge optional string

Edge property to use as identifier instead of database ID

  filters object

Filters

    node Selector[]

Nodes filter rules

    edge Selector[]

Edges filter rules

  nodeFields object

ICaptions and fields options

    captions NodeCaption

ICaption descriptions indexed by node category

  edgeGrouping object

Key value pairs representing the edge type that should be grouped

    [edge-type] boolean

Whether the edge type should be grouped or not

  edgeFields object

ICaptions and fields options

    captions EdgeCaption

ICaption descriptions indexed by edge type

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "sourceKey": "584f2569",
  "alertId": 2,
  "hash": "897f54ff366922a4077c78955c77bcdd",
  "status": "unconfirmed",
  "viewers": [],
  "nodes": ["5971", "5974"],
  "edges": ["523"],
  "columns": [
    1999
  ],
  "assignedUser": {
     "id": 2,
     "username": "Pellegrini",
     "email": "s.pellegrini@linkurio.us"
   },
  "visualization": {
    "nodes": [
      {
        "id": 1,
        "nodelink": {
          "x": 10.124,
          "y": 12.505
        },
        "geo": {
          "latitudeDiff": 0,
          "longitudeDiff": 0
        },
        "selected": true,
        "data": {
          "firstName": "David"
        },
        "categories": [
          "Person"
        ],
        "statistics": {
          "digest": [
            {
              "edgeType": "worksAt",
              "nodeCategories": [
                "Company"
              ],
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      },
      {
        "id": 2,
        "nodelink": {
          "x": -6.552,
          "y": -8.094
        },
        "geo": {
          "latitudeDiff": 0,
          "longitudeDiff": 0
        },
        "data": {
          "name": "Linkurious"
        },
        "categories": [
          "Company"
        ],
        "statistics": {
          "digest": [
            {
              "edgeType": "worksAt",
              "nodeCategories": [
                "Person"
              ],
              "nodes": 1,
              "edges": 1
            }
          ]
        },
        "readAt": 692362800000
      }
    ],
    "edges": [
      {
        "id": 0,
        "type": "worksAt",
        "data": {},
        "source": 1,
        "target": 2,
        "readAt": 692362800000
      }
    ],
    "nodeFields": {
      "captions": {
        "Person": {
          "active": true,
          "displayName": true,
          "properties": []
        },
        "Company": {
          "active": true,
          "displayName": true,
          "properties": []
        },
        "No category": {
          "active": true,
          "displayName": true,
          "properties": []
        }
      }
    },
    "edgeFields": {
      "captions": {
        "worksAt": {
          "name": "worksAt",
          "active": true,
          "displayName": true,
          "properties": []
        }
      }
    },
    "design": {
      // ...
    },
    "filters": {
       "node": [{
         "type": "any",
         "itemType": "Person",
         "input": ["properties", "firstName"],
         "value": "David"
       }],
       "edge": []
    },
    "alternativeIds": {},
    "mode": "nodelink",
    "layout": {
      "incremental": false,
      "algorithm": "force",
      "mode": "fast"
    },
    "geo": {
      "layers": []
    },
    "right": "owner",
    "widgetKey": null
  },
  "createdAt": "2016-05-16T08:23:35.730Z",
  "updatedAt": "2016-05-16T08:23:35.730Z"
}

- Assign cases

Assign one or more cases to a user.

/api/:sourceKey/alerts/:alertId/cases/assignments

Permission: API right: alert.doAction

Parameter

Field Type Description
sourceKey string

Key of the data-source

caseIds number[]

ID of the cases to assign

userID number

ID of the user to be assigned, can be set to -1 to remove the assignment

HTTP/1.1 204 No Content

- Update a case

Update a case.

/api/:sourceKey/alerts/:alertId/cases/:caseId

Permission: API right: alert.doAction

Parameter

Field Type Description
sourceKey string

Key of the data-source

alertId number

ID of the alert

caseId number

ID of the case

nodes object[]

Nodes in this visualization

  id string

Identifier of the node (native ID or alternative ID, see alternativeIds)

  attributes object

The node position information (in "nodelink" mode)

    x number

X coordinate of the node

    y number

Y coordinate of the node

    selected optional boolean

Whether the node is selected

    layoutable boolean

Whether the node is layoutable

  data object

The node position information

    geo optional object

The geographic position information of node (in "geo" mode)

      original optional object

Original position of node (decimal format)

      current optional object

Current position of node (decimal format)

      latitude number

Latitude value

      longitude number

Longitude value

      latitude number

Latitude value

      longitude number

Longitude value

edges object[]

Edges in this visualization

  id string

Identifier of the edge (native ID or alternative ID, see alternativeIds)

  attributes object

Edge attributes

    selected optional boolean

Whether the edge is selected

alternativeIds object

If nodes and/or edges should be referenced by a property instead of their database ID

  node optional string

Node property to use as identifier instead of database ID

  edge optional string

Edge property to use as identifier instead of database ID

layout object

The last layout used

  algorithm optional string

Layout algorithm

Allowed values: "force", "hierarchical"

  mode optional string

Layout algorithm mode (depends on algorithm)

  incremental optional boolean

Whether the layout is incremental (only for "force" algorithm)

mode string

The current interaction mode

Allowed values: "nodelink", "geo"

geo object

Geographical info

  layers string[]

Names of used leaflet tile layers

design object

Design

  styles object

Color, size and icon mapping

    node INodeStyle[]

Node IStyles

    edge IEdgeStyle[]

Edge IStyles

  palette object

Color and icon palette

filter object

Filters

  node optional Selector[]

Nodes filter rules

  edge optional Selector[]

Edges filter rules

nodeFields object

ICaptions and fields options

  captions NodeCaption

ICaption descriptions indexed by node-category

edgeFields object

ICaptions and fields options

  captions EdgeCaption

ICaption descriptions indexed by edge-type

HTTP/1.1 204 No Content

- Get all the cases of an alert

Get all the cases of an alert.

/api/:sourceKey/alerts/:alertId/cases

Permission: API right: alert.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

alertId number

ID the alert

offset optional string

Offset from the first result

Default value: 0

limit optional string

Page size (maximum number of returned cases)

Default value: 20

sort_direction optional string

Direction used to sort

Default value: desc

Allowed values: "asc", "desc"

sort_by optional string

Sort by date or a given column

Default value: date

Allowed values: "date", "0", "1", "2", "3", "4"

status optional string

Filter by case status

Allowed values: "unconfirmed", "confirmed", "dismissed"

assignedUserId optional number

Filter by case assignee

Success 200

Field Type Description
cases object[]

List of cases

  id number

ID of the case

  sourceKey string

Key of the data-source

  alertId number

ID of the alert

  hash string

Hash of the case

  status string

Status of the case

Allowed values: "unconfirmed", "in-progress", "confirmed", "dismissed"

  user optional object

Last user that changed the status

    id number

ID of the user

    username string

Username of the user

    email string

E-mail of the user

  viewers object[]

Users that viewed the case (ordered by date in decreasing order)

    id number

ID of the user

    username string

Username of the user

    email string

E-mail of the user

    date string

Date of the view in ISO-8601 format

  nodes string[]

IDs of the nodes of the case

  edges string[]

IDs of the edges of the case

  columns string[]

Scalar value for a given column by index defined in the alert

  assignedUser optional object

The assignee of the case

    id number

ID of the assigned user

    username string

Username of the assigned user

    email string

E-mail of the assigned user

  createdAt string

Creation date in ISO-8601 format

  updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
{
  "counts": {
    "unconfirmed": 1,
    "in-progress": 0,
    "confirmed": 1,
    "dismissed": 0
  },
  "cases": [
    {
      "id": 1,
      "sourceKey": "584f2569",
      "alertId": 2,
      "hash": "897f54ff366922a4077c78955c77bcdd",
      "status": "unconfirmed",
      "viewers": [],
      "nodes": ["5971", "5974"],
      "edges": ["523"],
      "columns": [
        1999
      ],
      "assignedUser": {
        "id": 2,
        "username": "Pellegrini",
        "email": "s.pellegrini@linkurio.us"
      }
      "createdAt": "2016-05-16T08:23:35.730Z",
      "updatedAt": "2016-05-16T08:23:35.730Z"
    }
  ]
}

- Get all the actions of a case

Get all the actions of a case ordered by creation date.

/api/:sourceKey/alerts/:alertId/cases/:caseId/actions

Permission: API right: alert.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

alertId number

ID of the alert

caseId number

ID of the case

offset optional number

Offset for the pagination

limit optional number

Maximum number of case actions to be returned

action string[]

The types of actions to be returned

Allowed values: "confirm", "dismiss", "open", "comment"

Success 200

Field Type Description
caseActions object[]

Actions

  id number

ID of the action

  caseId number

ID of the case

  user object

User that did the action

    id number

ID of the user

    username string

Username of the user

    email string

E-mail of the user

  action CaseActionType

The action performed

  createdAt string

Creation date in ISO-8601 format

  updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 200 OK
[
  {
    "id": 10,
    "caseId": 3,
    "action": "comment",
    "createdAt": "2016-06-14T08:25:25.730Z",
    "updatedAt": "2016-06-14T08:25:25.730Z",
    "user": {
        "id": 1,
        "username": "alice",
        "email": "alice@example.us"
    },
    "comment": "test 1"
  },
  {
    "id": 9,
    "caseId": 3,
    "action": "dismiss",
    "createdAt": "2016-06-16T08:22:35.730Z",
    "updatedAt": "2016-06-16T08:22:35.730Z",
    "user": {
      "id": 1,
      "username": "alice",
      "email": "alice@example.com"
    },
    "comment": "test 2"
  },
  {
    "id": 8,
    "caseId": 4,
    "action": "open",
    "createdAt": "2016-05-16T08:23:35.730Z",
    "updatedAt": "2016-05-16T08:23:35.730Z",
    "user": {
      "id": 2,
      "username": "bob",
      "email": "bob@example.com"
    },
    "comment": "test 3"
  }
]

- Do an action on a case

Do an action (open, dismiss, confirm, comment) on a case.

/api/:sourceKey/alerts/:alertId/cases/:caseId/action

Permission: API right: alert.doAction

Parameter

Field Type Description
sourceKey string

Key of the data-source

alertId number

ID of the alert

caseId number

ID of the case

comment optional string

Text of the comment

body

Field Type Description
action string

The action to perform

Allowed values: "confirm", "dismiss", "open", "comment"

  HTTP/1.1 201
 {
   "id": 1,
   "caseId": 1,
   "action": "comment",
   "createdAt": "2021-03-30T12:44:26.731Z",
   "updatedAt": "2021-03-30T12:44:26.731Z",
   "user": {
       "id": 1,
       "username": "Unique user",
       "email": "user@linkurio.us"
   },
   "comment": "Test comment"
}

- Delete a case comment

Delete a case comment.

/api/:sourceKey/alert/case/comment/:commentId

Permission: API right: alert.doAction

Parameter

Field Type Description
sourceKey string

Key of the data-source

commentId number

ID of the comment

HTTP/1.1 204 No Content

- Preview an alert

Get all the nodes and edges matching the given graph query. An array of subgraphs, one for each subgraph matching the graph query, is returned.

/api/:sourceKey/graph/alertPreview

Permission: User action: admin.alerts API right: admin.alerts

Parameter

Field Type Description
sourceKey string

Key of the data-source

query string

The graph query

dialect optional string

Dialect of the graph query (defaults to the first supported dialect of the data-source)

Allowed values: "cypher", "gremlin"

columns optional object[]

Columns among the returned values of the query to return as scalar values

  type string

Type of the column

Allowed values: "number", "string"

  columnName string

Name of the column in the query

  columnTitle string

Name of the column for the UI

limit optional number

Maximum number of matched subgraphs

timeout optional number

Maximum execution time in milliseconds

target string

The alert's target

Success 200

Field Type Description
cases object[]

List of cases

  columns string/number[]

Scalar values of the case

  nodes object[]
    id string

ID of the node

    data object
      categories string

Categories of the node

      properties object

Properties of the node

      geo IGeoData

Coordinates of the node

      statistics optional object

Statistics of the node

        supernode optional boolean

Whether the node is a supernode

        digest optional LkDigestItem[]

Statistics of the neighborhood of the node

        degree optional number

Number of neighbors of the node readable by the current user

        supernodeDigest optional LkEdgeDigestItem[]

Simplified statistics of the neighborhood of the node (alternative to digest for supernodes)

        supernodeDegree optional number

Number of adjacent edges of the node (alternative to degree for supernodes)

      readAt number

Read timestamp in epoch time

  edges object[]
    id string

ID of the edge

    source string

ID of the source node

    target string

ID of the target node

    data object
      type string

Type of the edge

      properties object

Properties of the edge

      readAt number

Read timestamp in epoch time

HTTP/1.1 200 OK
[
  {
    "columns": ['David'],
    "nodes": [
      {
        "id": "1",
        "data": {
          "categories": ["Person"],
          "properties": {
            "name": "David"
          },
          "geo": {},
          "statistics": {
            "supernode": false,
            "digest": [
              {
                "nodeCategories": [
                  "Company"
                ],
                "edgeType": "works_for",
                "nodes": 1,
                }
            ]
          },
          "readAt": 692362800000
        }
      }
    ],
    "edges": [
      {
        "id": "1",
        "source": "1",
        "target": "2",
        "data": {
          "type": "works_for",
          "properties": {
            "since": "2016-05-09"
          },
          "readAt": 692362800000
        }
      }
    ]
  }
]

- Get alert users

Get the list of users that can process a given alert.

/api/:sourceKey/alerts/:alertId/users

Permission: API right: alert.read

Parameter

Field Type Description
sourceKey string

Key of the data-source

alertId number

ID of the alert

Success 200

Field Type Description
users object[]

Alert users

  id string

ID of the alert user

  username string

Name of the alert user

  email string

Email of the alert user

  hasAssignedCases boolean

Whether the user has one or more case assigned to them

HTTP/1.1 200 OK
[
 {
   "id": 2;
   "username": "Perriero";
   "email": "perriero@linkurio.us"
   "hasAssignedCases": false
 },
 {
   "id": 7;
   "username": "Pellegrini";
   "email": "s.pellegrini@linkurio.us"
   "hasAssignedCases": true
 }
]

User

User - Get a user

Get a user by id.

/api/admin/users/:id

Permission: User action: admin.users

Parameter

Field Type Description
id number

ID of the user

Success 200

Field Type Description
id number

ID of the user

username string

Username of the user

email string

E-mail of the user

source string

Source of the user ("local", "ldap", "oauth2", etc.)

groups group[]

Groups the user belongs to

preferences preferences

Preferences of the user

actions object

Arrays of authorized actions indexed by data-source key The special key "*" lists actions authorized on all the data-sources

accessRights object

Arrays of authorized node categories and edge types indexed by data-source key, by type and by right The special key "*" lists access rights authorized on all the data-sources

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

lastActiveDate string

Last active date in ISO-8601 format

HTTP/1.1 200 OK
{
  "id": 1,
  "username": "Unique user",
  "email": "user@linkurio.us",
  "source": "local",
  "groups": [
    {
      "id": 1,
      "name": "admin",
      "builtin": true,
      "sourceKey": "*"
    }
  ],
  "preferences": {
    "pinOnDrag": false,
    "locale": "en-US",
    "incrementalLayout": false
  },
  "actions": {
    "*": [
      "admin.users",
      "admin.alerts",
      "admin.connect",
      "admin.index",
      "admin.app",
      "admin.report",
      "admin.schema",
      "admin.users.delete",
      "admin.config",
      "rawReadQuery",
      "rawWriteQuery"
    ]
  },
  "accessRights": {
    "*": {
      "nodes": {
        "edit": [],
        "write": ["*"]
      },
      "edges": {
        "edit": [],
        "write": ["*"]
      },
      "alerts": {
        "read": ["*"]
      }
    }
  },
  "createdAt": "2016-05-16T08:23:35.730Z",
  "updatedAt": "2016-05-16T08:23:45.730Z",
  "lastActiveDate": "2016-08-21T11:46:27.230Z"
}

User - Get users

Get all the users or filter them by username, e-mail or group id.

/api/users

Permission: authenticated  

Parameter

Field Type Description
starts_with optional string

Return only users which username or e-mail starts with this

contains optional string

Return only users which username or e-mail contains this

group_id optional number

Return only users belongings to this group

offset optional number

Offset from the first result

limit optional number

Page size (maximum number of returned users)

Default value: 10

sort_by optional string

Sort by id, username or e-mail

Default value: id

Allowed values: "id", "username", "email"

sort_direction optional string

Direction used to sort the users

Default value: asc

Allowed values: "asc", "desc"

Success 200

Field Type Description
found number

Number of hits

results object[]

Users

  id number

ID of the user

  username string

Username of the user

  email string

E-mail of the user

  source string

Source of the user ("local", "ldap", "oauth2", etc.)

  groups group[]

Groups the user belongs to

  preferences preferences

Preferences of the user

  actions object

Arrays of authorized actions indexed by data-source key The special key "*" lists actions authorized on all the data-sources

  visCount number

Number of visualization owned by the user

  createdAt string

Creation date in ISO-8601 format

  updatedAt string

Last update date in ISO-8601 format

  lastActiveDate string

Last active date in ISO-8601 format

HTTP/1.1 200 OK
{
  "found": 2,
  "results": [
    {
      "id": 1,
      "username": "Unique user",
      "email": "user@linkurio.us",
      "source": "local",
      "groups": [
        {
          "id": 1,
          "name": "admin",
          "builtin": true,
          "sourceKey": "*"
        }
      ],
      "preferences": {
        "pinOnDrag": false,
        "locale": "en-US",
        "incrementalLayout": false
      },
      "actions": {
        "*": [
          "admin.users",
          "admin.alerts",
          "admin.connect",
          "admin.index",
          "admin.app",
          "admin.report",
          "admin.users.delete",
          "admin.config",
          "rawReadQuery",
          "rawWriteQuery"
        ]
      },
      "accessRights": {
        "*": {
          "nodes": {
            "edit": [],
            "write": ["*"]
          },
          "edges": {
            "edit": [],
            "write": ["*"]
          },
          "alerts": {
            "read": ["*"]
          }
        }
      },
      "visCount": 2,
      "createdAt": "2016-05-16T08:23:35.730Z",
      "updatedAt": "2016-05-16T08:23:35.730Z",
      "lastActiveDate": "2016-05-17T08:23:35.730Z"
    },
    {
      "id": 2,
      "username": "newUser",
      "email": "new@linkurio.us",
      "source": "local",
      "groups": [
        {
          "id": 2,
          "name": "source manager",
          "builtin": true,
          "sourceKey": "584f2569"
        }
      ],
      "preferences": {
        "pinOnDrag": false,
        "locale": "en-US",
        "incrementalLayout": false
      },
      "actions": {
        "*": [],
        "584f2569": [
          "admin.users",
          "admin.alerts",
          "admin.connect",
          "admin.index",
          "rawReadQuery",
          "rawWriteQuery"
        ]
      },
      "accessRights": {
        "*": {
          "nodes": {
            "edit": [],
            "write": []
          },
          "edges": {
            "edit": [],
            "write": []
          },
          "alerts": {
            "read": []
          }
        },
        "584f2569": {
          "nodes": {
            "edit": [],
            "write": ["*"]
          },
          "edges": {
            "edit": [],
            "write": ["*"]
          },
          "alerts": {
            "read": ["*"]
          }
        }
      },
      "visCount": 0,
      "createdAt": "2016-05-16T08:23:35.730Z",
      "updatedAt": "2016-05-16T08:23:35.730Z",
      "lastActiveDate": "2016-05-17T08:23:35.730Z"
    }
  ]
}

User - Create a user

Add a new user.

/api/admin/users

Permission: User action: admin.users

Parameter

Field Type Description
username string

Username of the user

email string

E-mail of the user

password string

Password of the user

groups optional number[]

IDs of the groups the user belong to

Success 200

Field Type Description
id number

ID of the user

username string

Username of the user

email string

E-mail of the user

source string

Source of the user ("local", "ldap", "oauth2", etc.)

groups group[]

Groups the user belongs to

preferences preferences

Preferences of the user

actions object

Arrays of authorized actions indexed by data-source key. The special key "*" lists actions authorized on all the data-sources

accessRights object

Arrays of authorized node categories and edge types indexed by data-source key, by type and by right. The special key "*" lists access rights authorized on all the data-sources

createdAt string

Creation date in ISO-8601 format

updatedAt string

Last update date in ISO-8601 format

HTTP/1.1 201 Created
{
  "id": 2,
  "username": "newUser",
  "email": "new@linkurio.us",
  "source": "local",
  "groups": [
    {
      "id": 2,
      "name": "source manager",
      "builtin": true,
      "sourceKey": "584f2569"
    }
  ],
  "preferences": {
    "pinOnDrag": false,
    "locale": "en-US",
    "incrementalLayout": false
  },
  "actions": {
    "*": [],
    "584f2569": [
      "admin.users",
      "admin.alerts",
      "admin.connect",