Nodes, objects and properties schema

service.navigator.graphqls

To authenticate API requests, you’ll need an API token. Learn how to generate an access token.

See usage examples in the cloudbeaver-graphql-examples repository.

You can try queries in the built-in GraphQL console, available on your server at https://your-server-address/api/gql/console. This tool lets you test requests directly from your browser.

For a live example, see the demo GraphQL console.

API Endpoints
https://your-server-address/api/gql

Queries

navGetStructContainers

Description

contextId currently not using

Response

Returns a DatabaseStructContainers!

Arguments
Name Description
projectId - ID
connectionId - ID!
contextId - ID
catalog - ID

Example

Query
query navGetStructContainers(
  $projectId: ID,
  $connectionId: ID!,
  $contextId: ID,
  $catalog: ID
) {
  navGetStructContainers(
    projectId: $projectId,
    connectionId: $connectionId,
    contextId: $contextId,
    catalog: $catalog
  ) {
    parentNode {
      ...NavigatorNodeInfoFragment
    }
    catalogList {
      ...DatabaseCatalogFragment
    }
    schemaList {
      ...NavigatorNodeInfoFragment
    }
    supportsCatalogChange
    supportsSchemaChange
    defaultCatalog
    defaultSchema
  }
}
Variables
{
  "projectId": "<id>",
  "connectionId": "<id>",
  "contextId": "<id>",
  "catalog": "<id>"
}
Response
{
  "data": {
    "navGetStructContainers": {
      "parentNode": NavigatorNodeInfo,
      "catalogList": [DatabaseCatalog],
      "schemaList": [NavigatorNodeInfo],
      "supportsCatalogChange": "<boolean>",
      "supportsSchemaChange": "<boolean>",
      "defaultCatalog": "<string>",
      "defaultSchema": "<string>"
    }
  }
}

navNodeChildren

Description

Returns child nodes based on parent node path

Response

Returns [NavigatorNodeInfo!]!

Arguments
Name Description
parentPath - ID!
offset - Int
limit - Int
onlyFolders - Boolean

Example

Query
query navNodeChildren(
  $parentPath: ID!,
  $offset: Int,
  $limit: Int,
  $onlyFolders: Boolean
) {
  navNodeChildren(
    parentPath: $parentPath,
    offset: $offset,
    limit: $limit,
    onlyFolders: $onlyFolders
  ) {
    uri
    name
    fullName
    plainName
    icon
    description
    nodeType
    hasChildren
    projectId
    object {
      ...DatabaseObjectInfoFragment
    }
    objectId
    features
    nodeDetails {
      ...ObjectPropertyInfoFragment
    }
    folder
    inline
    navigable
    filtered
    filter {
      ...NavigatorNodeFilterFragment
    }
  }
}
Variables
{
  "parentPath": "<id>",
  "offset": "<int>",
  "limit": "<int>",
  "onlyFolders": "<boolean>"
}
Response
{
  "data": {
    "navNodeChildren": [
      {
        "uri": "<id>",
        "name": "<string>",
        "fullName": "<string>",
        "plainName": "<string>",
        "icon": "<string>",
        "description": "<string>",
        "nodeType": "<string>",
        "hasChildren": "<boolean>",
        "projectId": "<string>",
        "object": DatabaseObjectInfo,
        "objectId": "<string>",
        "features": ["<string>"],
        "nodeDetails": [ObjectPropertyInfo],
        "folder": "<boolean>",
        "inline": "<boolean>",
        "navigable": "<boolean>",
        "filtered": "<boolean>",
        "filter": NavigatorNodeFilter
      }
    ]
  }
}

navNodeInfo

Description

Returns node info for the specified node path

Response

Returns a NavigatorNodeInfo!

Arguments
Name Description
nodePath - ID!

Example

Query
query navNodeInfo($nodePath: ID!) {
  navNodeInfo(nodePath: $nodePath) {
    uri
    name
    fullName
    plainName
    icon
    description
    nodeType
    hasChildren
    projectId
    object {
      ...DatabaseObjectInfoFragment
    }
    objectId
    features
    nodeDetails {
      ...ObjectPropertyInfoFragment
    }
    folder
    inline
    navigable
    filtered
    filter {
      ...NavigatorNodeFilterFragment
    }
  }
}
Variables
{"nodePath": "<id>"}
Response
{
  "data": {
    "navNodeInfo": {
      "uri": "<id>",
      "name": "<string>",
      "fullName": "<string>",
      "plainName": "<string>",
      "icon": "<string>",
      "description": "<string>",
      "nodeType": "<string>",
      "hasChildren": "<boolean>",
      "projectId": "<string>",
      "object": DatabaseObjectInfo,
      "objectId": "<string>",
      "features": ["<string>"],
      "nodeDetails": [ObjectPropertyInfo],
      "folder": "<boolean>",
      "inline": "<boolean>",
      "navigable": "<boolean>",
      "filtered": "<boolean>",
      "filter": NavigatorNodeFilter
    }
  }
}

navNodeParents

Description

Returns parent nodes for the specified node path

Response

Returns [NavigatorNodeInfo!]!

Arguments
Name Description
nodePath - ID!

Example

Query
query navNodeParents($nodePath: ID!) {
  navNodeParents(nodePath: $nodePath) {
    uri
    name
    fullName
    plainName
    icon
    description
    nodeType
    hasChildren
    projectId
    object {
      ...DatabaseObjectInfoFragment
    }
    objectId
    features
    nodeDetails {
      ...ObjectPropertyInfoFragment
    }
    folder
    inline
    navigable
    filtered
    filter {
      ...NavigatorNodeFilterFragment
    }
  }
}
Variables
{"nodePath": "<id>"}
Response
{
  "data": {
    "navNodeParents": [
      {
        "uri": "<id>",
        "name": "<string>",
        "fullName": "<string>",
        "plainName": "<string>",
        "icon": "<string>",
        "description": "<string>",
        "nodeType": "<string>",
        "hasChildren": "<boolean>",
        "projectId": "<string>",
        "object": DatabaseObjectInfo,
        "objectId": "<string>",
        "features": ["<string>"],
        "nodeDetails": [ObjectPropertyInfo],
        "folder": "<boolean>",
        "inline": "<boolean>",
        "navigable": "<boolean>",
        "filtered": "<boolean>",
        "filter": NavigatorNodeFilter
      }
    ]
  }
}

navRefreshNode

No longer supported
Description

Refreshes node based on the node path

Response

Returns a Boolean

Arguments
Name Description
nodePath - ID!

Example

Query
query navRefreshNode($nodePath: ID!) {
  navRefreshNode(nodePath: $nodePath)
}
Variables
{"nodePath": "<id>"}
Response
{"data": {"navRefreshNode": "<boolean>"}}

Mutations

navDeleteNodes

Description

Deletes nodes with specified IDs and returns number of deleted nodes

Response

Returns an Int

Arguments
Name Description
nodePaths - [ID!]!

Example

Query
mutation navDeleteNodes($nodePaths: [ID!]!) {
  navDeleteNodes(nodePaths: $nodePaths)
}
Variables
{"nodePaths": "<id>"}
Response
{"data": {"navDeleteNodes": "<int>"}}

navMoveNodesToFolder

Description

Moves nodes with specified IDs to the connection folder

Response

Returns a Boolean!

Arguments
Name Description
nodePaths - [ID!]!
folderPath - ID!

Example

Query
mutation navMoveNodesToFolder(
  $nodePaths: [ID!]!,
  $folderPath: ID!
) {
  navMoveNodesToFolder(
    nodePaths: $nodePaths,
    folderPath: $folderPath
  )
}
Variables
{"nodePaths": "<id>", "folderPath": "<id>"}
Response
{
  "data": {
    "navMoveNodesToFolder": "<boolean>"
  }
}

navReloadNode

Description

Reloads node and returns updated node info

Response

Returns a NavigatorNodeInfo!

Arguments
Name Description
nodePath - ID!

Example

Query
mutation navReloadNode($nodePath: ID!) {
  navReloadNode(nodePath: $nodePath) {
    uri
    name
    fullName
    plainName
    icon
    description
    nodeType
    hasChildren
    projectId
    object {
      ...DatabaseObjectInfoFragment
    }
    objectId
    features
    nodeDetails {
      ...ObjectPropertyInfoFragment
    }
    folder
    inline
    navigable
    filtered
    filter {
      ...NavigatorNodeFilterFragment
    }
  }
}
Variables
{"nodePath": "<id>"}
Response
{
  "data": {
    "navReloadNode": {
      "uri": "<id>",
      "name": "<string>",
      "fullName": "<string>",
      "plainName": "<string>",
      "icon": "<string>",
      "description": "<string>",
      "nodeType": "<string>",
      "hasChildren": "<boolean>",
      "projectId": "<string>",
      "object": DatabaseObjectInfo,
      "objectId": "<string>",
      "features": ["<string>"],
      "nodeDetails": [ObjectPropertyInfo],
      "folder": "<boolean>",
      "inline": "<boolean>",
      "navigable": "<boolean>",
      "filtered": "<boolean>",
      "filter": NavigatorNodeFilter
    }
  }
}

navRenameNode

Description

Renames node and returns new node id

Response

Returns a String!

Arguments
Name Description
nodePath - ID!
newName - String!

Example

Query
mutation navRenameNode(
  $nodePath: ID!,
  $newName: String!
) {
  navRenameNode(
    nodePath: $nodePath,
    newName: $newName
  )
}
Variables
{"nodePath": "<id>", "newName": "<string>"}
Response
{"data": {"navRenameNode": "<string>"}}

navSetFolderFilter

Description

Sets filter for the folder node. If both include and exclude are null then filter is removed. Node must be refreshed after applying filters. Node children can be changed

Response

Returns a Boolean!

Arguments
Name Description
nodePath - ID!
include - [String!]
exclude - [String!]

Example

Query
mutation navSetFolderFilter(
  $nodePath: ID!,
  $include: [String!],
  $exclude: [String!]
) {
  navSetFolderFilter(
    nodePath: $nodePath,
    include: $include,
    exclude: $exclude
  )
}
Variables
{"nodePath": "<id>", "include": "<string>", "exclude": "<string>"}
Response
{
  "data": {
    "navSetFolderFilter": "<boolean>"
  }
}

Types

Boolean

Description

The Boolean scalar type represents true or false.

Example
"<boolean>"

Condition

Description

Represents a dynamic condition for a property, such as visibility or read-only state

Fields
Field Name Description
expression - String! The logical expression that defines when the condition applies
conditionType - ConditionType! The type of condition (e.g., HIDE or READ_ONLY)
Example
{"expression": "<string>", "conditionType": "HIDE"}

ConditionType

Values
Enum Value Description

HIDE

hiding property condition

READ_ONLY

restriction for setting a property value
Example
"HIDE"

DatabaseCatalog

Fields
Field Name Description
catalog - NavigatorNodeInfo!
schemaList - [NavigatorNodeInfo!]!
Example
{
  "catalog": NavigatorNodeInfo,
  "schemaList": [NavigatorNodeInfo]
}

DatabaseObjectInfo

Fields
Field Name Description
name - String Object name
description - String Description - optional
type - String Object type. Java class name in most cases
properties - [ObjectPropertyInfo] Read object properties. Optional parameter 'ids' filters properties by id. null means all properties. Note: property value reading may take a lot of time so don't read all property values always Examine property meta (features in particular) before reading them
Arguments
ordinalPosition - Int
fullyQualifiedName - String
overloadedName - String
uniqueName - String
state - String
features - [String!] Features: script, scriptExtended, dataContainer, dataManipulator, entity, schema, catalog
editors - [String!] Supported editors: ddl, permissions, sourceDeclaration, sourceDefinition
Example
{
  "name": "<string>",
  "description": "<string>",
  "type": "<string>",
  "properties": [ObjectPropertyInfo],
  "ordinalPosition": "<int>",
  "fullyQualifiedName": "<string>",
  "overloadedName": "<string>",
  "uniqueName": "<string>",
  "state": "<string>",
  "features": ["<string>"],
  "editors": ["<string>"]
}

DatabaseStructContainers

Fields
Field Name Description
parentNode - NavigatorNodeInfo
catalogList - [DatabaseCatalog!]!
schemaList - [NavigatorNodeInfo!]!
supportsCatalogChange - Boolean!
supportsSchemaChange - Boolean!
defaultCatalog - String
defaultSchema - String
Example
{
  "parentNode": NavigatorNodeInfo,
  "catalogList": [DatabaseCatalog],
  "schemaList": [NavigatorNodeInfo],
  "supportsCatalogChange": "<boolean>",
  "supportsSchemaChange": "<boolean>",
  "defaultCatalog": "<string>",
  "defaultSchema": "<string>"
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"<id>"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
"<int>"

NavigatorNodeFilter

Fields
Field Name Description
include - [String!]
exclude - [String!]
Example
{"include": ["<string>"], "exclude": ["<string>"]}

NavigatorNodeInfo

Fields
Field Name Description
uri - ID! Node URI - a unique path to a node including all parent nodes
name - String Node human readable name
fullName - String Node full name use name parameter (23.2.0)
plainName - String Node plain name (23.2.0)
icon - String Node icon path
description - String Node description
nodeType - String Node type
hasChildren - Boolean! Can this property have child nodes?
projectId - String Project id of the node
object - DatabaseObjectInfo Associated object. Maybe null for non-database objects
objectId - String Associated object. Return value depends on the node type - connectionId for connection node, resource path for resource node, etc. null - if node currently not support this property
features - [String!] Supported features: item, container, leaf, canDelete, canRename
nodeDetails - [ObjectPropertyInfo!] Object detailed info. If is different than properties. It doesn't perform any expensive operation and doesn't require authentication.
folder - Boolean!
inline - Boolean!
navigable - Boolean!
filtered - Boolean!
filter - NavigatorNodeFilter Reads node filter. Expensive invocation, read only when it is really needed
Example
{
  "uri": "<id>",
  "name": "<string>",
  "fullName": "<string>",
  "plainName": "<string>",
  "icon": "<string>",
  "description": "<string>",
  "nodeType": "<string>",
  "hasChildren": "<boolean>",
  "projectId": "<string>",
  "object": DatabaseObjectInfo,
  "objectId": "<string>",
  "features": ["<string>"],
  "nodeDetails": [ObjectPropertyInfo],
  "folder": "<boolean>",
  "inline": "<boolean>",
  "navigable": "<boolean>",
  "filtered": "<boolean>",
  "filter": NavigatorNodeFilter
}

Object

Description

Any object (JSON)

Example
"<object>"

ObjectPropertyFilter

Fields
Input Field Description
ids - [String!]
features - [String!]
categories - [String!]
dataTypes - [String!]
Example
{
  "ids": ["<string>"],
  "features": ["<string>"],
  "categories": ["<string>"],
  "dataTypes": ["<string>"]
}

ObjectPropertyInfo

Description

Information about the object property used to generate its UI

Fields
Field Name Description
id - String Unique property identifier
displayName - String Human-readable name
description - String Property description
hint - String Usage hint for the property
category - String Property category (may be used if object has a lot of properties)
dataType - String Property data type (e.g., int, String)
value - Object Property value (can be resource-intensive for some properties, e.g., RowCount for tables)
validValues - [Object] List of allowed values (for enumerable properties)
defaultValue - Object Default property value
length - ObjectPropertyLength! Property value length
features - [String!]! List of supported features (e.g., system, hidden, inherited, foreign, expensive)
order - Int! Order position
supportedConfigurationTypes - [String!] Supported configuration types (for driver properties)
required - Boolean! Is the property required
scopes - [String!] List of preference scopes (e.g., global, user)
conditions - [Condition!] Dynamic conditions for the property (e.g., visibility or read-only)
Example
{
  "id": "<string>",
  "displayName": "<string>",
  "description": "<string>",
  "hint": "<string>",
  "category": "<string>",
  "dataType": "<string>",
  "value": "<object>",
  "validValues": ["<object>"],
  "defaultValue": "<object>",
  "length": "TINY",
  "features": ["<string>"],
  "order": "<int>",
  "supportedConfigurationTypes": ["<string>"],
  "required": "<boolean>",
  "scopes": ["<string>"],
  "conditions": [Condition]
}

ObjectPropertyLength

Values
Enum Value Description

TINY

1 character

SHORT

20 characters

MEDIUM

<= 64 characters

LONG

Full line length. The default

MULTILINE

Multi-line long text
Example
"TINY"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"<string>"