Drivers API schema

service.driver.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

driverProviderList

Description

Returns the list of available driver providers.

Response

Returns [DriverProviderInfo!]!

Example

Query
query driverProviderList {
  driverProviderList {
    id
    name
    icon
  }
}
Response
{
  "data": {
    "driverProviderList": [
      {"id": "<id>", "name": "<string>", "icon": "<string>"}
    ]
  }
}

Mutations

asyncDownloadDriverLibraries

Description

Creates the async task to download driver libraries for the specified driver.

Response

Returns an AsyncTaskInfo!

Arguments
Name Description
providerId - ID!
driverId - ID!

Example

Query
mutation asyncDownloadDriverLibraries(
  $providerId: ID!,
  $driverId: ID!
) {
  asyncDownloadDriverLibraries(
    providerId: $providerId,
    driverId: $driverId
  ) {
    id
    name
    running
    status
    error {
      ...ServerErrorFragment
    }
    taskResult
  }
}
Variables
{"providerId": "<id>", "driverId": "<id>"}
Response
{
  "data": {
    "asyncDownloadDriverLibraries": {
      "id": "<string>",
      "name": "<string>",
      "running": "<boolean>",
      "status": "<string>",
      "error": ServerError,
      "taskResult": "<object>"
    }
  }
}

createDriver

Description

Creates a new driver based on the provided configuration.

Response

Returns a DriverInfo!

Arguments
Name Description
config - DriverConfig!

Example

Query
mutation createDriver($config: DriverConfig!) {
  createDriver(config: $config) {
    id
    name
    description
    icon
    iconBig
    driverId
    providerId
    driverClassName
    defaultHost
    defaultPort
    defaultDatabase
    defaultServer
    defaultUser
    sampleURL
    driverInfoURL
    driverPropertiesURL
    embedded
    enabled
    requiresServerName
    requiresDatabaseName
    useCustomPage
    licenseRequired
    license
    custom
    promotedScore
    driverProperties {
      ...ObjectPropertyInfoFragment
    }
    driverParameters
    mainProperties {
      ...ObjectPropertyInfoFragment
    }
    providerProperties {
      ...ObjectPropertyInfoFragment
    }
    expertSettingsProperties {
      ...ObjectPropertyInfoFragment
    }
    anonymousAccess
    defaultAuthModel
    applicableAuthModels
    applicableNetworkHandlers
    configurationTypes
    downloadable
    driverInstalled
    driverLibraries {
      ...DriverLibraryInfoFragment
    }
    safeEmbeddedDriver
  }
}
Variables
{"config": DriverConfig}
Response
{
  "data": {
    "createDriver": {
      "id": "<id>",
      "name": "<string>",
      "description": "<string>",
      "icon": "<string>",
      "iconBig": "<string>",
      "driverId": "<id>",
      "providerId": "<id>",
      "driverClassName": "<string>",
      "defaultHost": "<string>",
      "defaultPort": "<string>",
      "defaultDatabase": "<string>",
      "defaultServer": "<string>",
      "defaultUser": "<string>",
      "sampleURL": "<string>",
      "driverInfoURL": "<string>",
      "driverPropertiesURL": "<string>",
      "embedded": "<boolean>",
      "enabled": "<boolean>",
      "requiresServerName": "<boolean>",
      "requiresDatabaseName": "<boolean>",
      "useCustomPage": "<boolean>",
      "licenseRequired": "<boolean>",
      "license": "<string>",
      "custom": "<boolean>",
      "promotedScore": "<int>",
      "driverProperties": [ObjectPropertyInfo],
      "driverParameters": "<object>",
      "mainProperties": [ObjectPropertyInfo],
      "providerProperties": [ObjectPropertyInfo],
      "expertSettingsProperties": [ObjectPropertyInfo],
      "anonymousAccess": "<boolean>",
      "defaultAuthModel": "<id>",
      "applicableAuthModels": ["<id>"],
      "applicableNetworkHandlers": ["<id>"],
      "configurationTypes": ["MANUAL"],
      "downloadable": "<boolean>",
      "driverInstalled": "<boolean>",
      "driverLibraries": [DriverLibraryInfo],
      "safeEmbeddedDriver": "<boolean>"
    }
  }
}

deleteDriver

Description

Deletes a driver by its ID. Only custom drivers can be deleted.

Response

Returns a Boolean!

Arguments
Name Description
id - ID!

Example

Query
mutation deleteDriver($id: ID!) {
  deleteDriver(id: $id)
}
Variables
{"id": "<id>"}
Response
{"data": {"deleteDriver": "<boolean>"}}

deleteDriverLibraries

Description

Removes driver libraries by their IDs from the driver configuration. Driver files are not deleted from the server.

Response

Returns a Boolean!

Arguments
Name Description
driverId - ID!
libraryIds - [ID!]!

Example

Query
mutation deleteDriverLibraries(
  $driverId: ID!,
  $libraryIds: [ID!]!
) {
  deleteDriverLibraries(
    driverId: $driverId,
    libraryIds: $libraryIds
  )
}
Variables
{"driverId": "<id>", "libraryIds": "<id>"}
Response
{
  "data": {
    "deleteDriverLibraries": "<boolean>"
  }
}

resetDriver

Description

Resets the driver to its default state.

Response

Returns a DriverInfo!

Arguments
Name Description
id - ID!

Example

Query
mutation resetDriver($id: ID!) {
  resetDriver(id: $id) {
    id
    name
    description
    icon
    iconBig
    driverId
    providerId
    driverClassName
    defaultHost
    defaultPort
    defaultDatabase
    defaultServer
    defaultUser
    sampleURL
    driverInfoURL
    driverPropertiesURL
    embedded
    enabled
    requiresServerName
    requiresDatabaseName
    useCustomPage
    licenseRequired
    license
    custom
    promotedScore
    driverProperties {
      ...ObjectPropertyInfoFragment
    }
    driverParameters
    mainProperties {
      ...ObjectPropertyInfoFragment
    }
    providerProperties {
      ...ObjectPropertyInfoFragment
    }
    expertSettingsProperties {
      ...ObjectPropertyInfoFragment
    }
    anonymousAccess
    defaultAuthModel
    applicableAuthModels
    applicableNetworkHandlers
    configurationTypes
    downloadable
    driverInstalled
    driverLibraries {
      ...DriverLibraryInfoFragment
    }
    safeEmbeddedDriver
  }
}
Variables
{"id": "<id>"}
Response
{
  "data": {
    "resetDriver": {
      "id": "<id>",
      "name": "<string>",
      "description": "<string>",
      "icon": "<string>",
      "iconBig": "<string>",
      "driverId": "<id>",
      "providerId": "<id>",
      "driverClassName": "<string>",
      "defaultHost": "<string>",
      "defaultPort": "<string>",
      "defaultDatabase": "<string>",
      "defaultServer": "<string>",
      "defaultUser": "<string>",
      "sampleURL": "<string>",
      "driverInfoURL": "<string>",
      "driverPropertiesURL": "<string>",
      "embedded": "<boolean>",
      "enabled": "<boolean>",
      "requiresServerName": "<boolean>",
      "requiresDatabaseName": "<boolean>",
      "useCustomPage": "<boolean>",
      "licenseRequired": "<boolean>",
      "license": "<string>",
      "custom": "<boolean>",
      "promotedScore": "<int>",
      "driverProperties": [ObjectPropertyInfo],
      "driverParameters": "<object>",
      "mainProperties": [ObjectPropertyInfo],
      "providerProperties": [ObjectPropertyInfo],
      "expertSettingsProperties": [ObjectPropertyInfo],
      "anonymousAccess": "<boolean>",
      "defaultAuthModel": "<id>",
      "applicableAuthModels": ["<id>"],
      "applicableNetworkHandlers": ["<id>"],
      "configurationTypes": ["MANUAL"],
      "downloadable": "<boolean>",
      "driverInstalled": "<boolean>",
      "driverLibraries": [DriverLibraryInfo],
      "safeEmbeddedDriver": "<boolean>"
    }
  }
}

updateDriver

Description

Updates an existing driver with the provided configuration.

Response

Returns a DriverInfo!

Arguments
Name Description
config - DriverConfig!

Example

Query
mutation updateDriver($config: DriverConfig!) {
  updateDriver(config: $config) {
    id
    name
    description
    icon
    iconBig
    driverId
    providerId
    driverClassName
    defaultHost
    defaultPort
    defaultDatabase
    defaultServer
    defaultUser
    sampleURL
    driverInfoURL
    driverPropertiesURL
    embedded
    enabled
    requiresServerName
    requiresDatabaseName
    useCustomPage
    licenseRequired
    license
    custom
    promotedScore
    driverProperties {
      ...ObjectPropertyInfoFragment
    }
    driverParameters
    mainProperties {
      ...ObjectPropertyInfoFragment
    }
    providerProperties {
      ...ObjectPropertyInfoFragment
    }
    expertSettingsProperties {
      ...ObjectPropertyInfoFragment
    }
    anonymousAccess
    defaultAuthModel
    applicableAuthModels
    applicableNetworkHandlers
    configurationTypes
    downloadable
    driverInstalled
    driverLibraries {
      ...DriverLibraryInfoFragment
    }
    safeEmbeddedDriver
  }
}
Variables
{"config": DriverConfig}
Response
{
  "data": {
    "updateDriver": {
      "id": "<id>",
      "name": "<string>",
      "description": "<string>",
      "icon": "<string>",
      "iconBig": "<string>",
      "driverId": "<id>",
      "providerId": "<id>",
      "driverClassName": "<string>",
      "defaultHost": "<string>",
      "defaultPort": "<string>",
      "defaultDatabase": "<string>",
      "defaultServer": "<string>",
      "defaultUser": "<string>",
      "sampleURL": "<string>",
      "driverInfoURL": "<string>",
      "driverPropertiesURL": "<string>",
      "embedded": "<boolean>",
      "enabled": "<boolean>",
      "requiresServerName": "<boolean>",
      "requiresDatabaseName": "<boolean>",
      "useCustomPage": "<boolean>",
      "licenseRequired": "<boolean>",
      "license": "<string>",
      "custom": "<boolean>",
      "promotedScore": "<int>",
      "driverProperties": [ObjectPropertyInfo],
      "driverParameters": "<object>",
      "mainProperties": [ObjectPropertyInfo],
      "providerProperties": [ObjectPropertyInfo],
      "expertSettingsProperties": [ObjectPropertyInfo],
      "anonymousAccess": "<boolean>",
      "defaultAuthModel": "<id>",
      "applicableAuthModels": ["<id>"],
      "applicableNetworkHandlers": ["<id>"],
      "configurationTypes": ["MANUAL"],
      "downloadable": "<boolean>",
      "driverInstalled": "<boolean>",
      "driverLibraries": [DriverLibraryInfo],
      "safeEmbeddedDriver": "<boolean>"
    }
  }
}

Types

AsyncTaskInfo

Description

Async types

Fields
Field Name Description
id - String! Task unique identifier
name - String Async task name
running - Boolean! Indicates if the task is currently running
status - String Current status of the async task
error - ServerError Error information if the task failed
taskResult - Object Task result. Can be some kind of identifier to obtain real result using another API function
Example
{
  "id": "<string>",
  "name": "<string>",
  "running": "<boolean>",
  "status": "<string>",
  "error": ServerError,
  "taskResult": "<object>"
}

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"

DriverConfig

Fields
Input Field Description
id - ID Unique identifier of the driver.
name - String! Driver display name.
providerId - ID! Driver provider ID. Must be one of the available driver providers.
driverClassName - String! Java class name for the driver. Used to load the driver.
description - String Driver description.
sampleURL - String Sample URL for the driver.
defaultPort - String Default port for the driver.
defaultDatabase - String Default database for the driver.
defaultUser - String Default user for the driver.
Example
{
  "id": "<id>",
  "name": "<string>",
  "providerId": "<id>",
  "driverClassName": "<string>",
  "description": "<string>",
  "sampleURL": "<string>",
  "defaultPort": "<string>",
  "defaultDatabase": "<string>",
  "defaultUser": "<string>"
}

DriverConfigurationType

Values
Enum Value Description

MANUAL

Driver uses host, port, database and server name fields

URL

Driver uses URL field
Example
"MANUAL"

DriverFileInfo

Description

Driver file information.

Fields
Field Name Description
id - ID! Driver file unique ID
fileName - String! Driver file name
icon - String Path to the driver file icon
Example
{"id": "<id>", "fileName": "<string>", "icon": "<string>"}

DriverInfo

Fields
Field Name Description
id - ID! Driver unique full ID. It is providerId + "." + driverId. It is recommended to use providerId and driverId separately.
name - String Name of the driver
description - String Description of the driver
icon - String Path to the driver icon
iconBig - String Path to the driver icon for big size
driverId - ID! Driver ID. It is unique within provider
providerId - ID! Driver provider ID. It is globally unique
driverClassName - String Driver Java class name
defaultHost - String Default host for the driver
defaultPort - String Default port for the driver
defaultDatabase - String Default database name for the driver
defaultServer - String Default server name for the driver
defaultUser - String Default user name for the driver
sampleURL - String Default connection URL for the driver
driverInfoURL - String Returns link to the driver documentation page
driverPropertiesURL - String Returns link to the driver properties page
embedded - Boolean Defines if the database for this driver is embedded
enabled - Boolean! Defines if the driver is enabled
requiresServerName - Boolean Defines if the driver page requires server name field use mainProperties instead
requiresDatabaseName - Boolean Defines if the driver page requires database name field use mainProperties instead
useCustomPage - Boolean! Defines if host, port, database, server name fields are using a custom page
licenseRequired - Boolean Defines if driver license is required
license - String Driver license information
custom - Boolean Defines if the driver is a custom driver
promotedScore - Int Driver score for ordering, biggest first
driverProperties - [ObjectPropertyInfo!]! Driver properties. Note: it is expensive property and it may produce database server roundtrips. Call it only when you really need it. These properties are for advanced users in usually shouldn't be specified for new connections.
driverParameters - Object! Driver parameters (map name->value)
mainProperties - [ObjectPropertyInfo!]! Main driver properties. Contains info about main fields (host, port, database, server name) that are used in main connection page
providerProperties - [ObjectPropertyInfo!]! Additional driver provider properties. These properties can be configured by user on main connection page to provide important connection settings
expertSettingsProperties - [ObjectPropertyInfo!]! Expert driver settings properties. Returns properties (like keep-alive interval) that are not often used and can be hidden in UI
anonymousAccess - Boolean False for drivers which do not support authentication.
defaultAuthModel - ID! Default auth model that is used for this driver (see authModels)
applicableAuthModels - [ID!]! List of auth models that can be used with this driver (see authModels)
applicableNetworkHandlers - [ID]! List of network handlers that can be used with this driver (SSH/SSL)
configurationTypes - [DriverConfigurationType]! Configuration types are used in UI to determine how to display connection settings (show host/port/database fields or use URL field)
downloadable - Boolean! Defines if the driver can be downloaded remotely
driverInstalled - Boolean! Defines if the driver is installed on the server
driverLibraries - [DriverLibraryInfo!]! List of driver libraries that are used for connecting to the database
safeEmbeddedDriver - Boolean! Defines if embedded driver is safe to use in the server
Example
{
  "id": "<id>",
  "name": "<string>",
  "description": "<string>",
  "icon": "<string>",
  "iconBig": "<string>",
  "driverId": "<id>",
  "providerId": "<id>",
  "driverClassName": "<string>",
  "defaultHost": "<string>",
  "defaultPort": "<string>",
  "defaultDatabase": "<string>",
  "defaultServer": "<string>",
  "defaultUser": "<string>",
  "sampleURL": "<string>",
  "driverInfoURL": "<string>",
  "driverPropertiesURL": "<string>",
  "embedded": "<boolean>",
  "enabled": "<boolean>",
  "requiresServerName": "<boolean>",
  "requiresDatabaseName": "<boolean>",
  "useCustomPage": "<boolean>",
  "licenseRequired": "<boolean>",
  "license": "<string>",
  "custom": "<boolean>",
  "promotedScore": "<int>",
  "driverProperties": [ObjectPropertyInfo],
  "driverParameters": "<object>",
  "mainProperties": [ObjectPropertyInfo],
  "providerProperties": [ObjectPropertyInfo],
  "expertSettingsProperties": [ObjectPropertyInfo],
  "anonymousAccess": "<boolean>",
  "defaultAuthModel": "<id>",
  "applicableAuthModels": ["<id>"],
  "applicableNetworkHandlers": ["<id>"],
  "configurationTypes": ["MANUAL"],
  "downloadable": "<boolean>",
  "driverInstalled": "<boolean>",
  "driverLibraries": [DriverLibraryInfo],
  "safeEmbeddedDriver": "<boolean>"
}

DriverLibraryInfo

Description

Driver library information. Used to display driver files in UI

Fields
Field Name Description
id - ID! Driver library unique ID
name - String! Driver library name
icon - String Path to the driver library icon
libraryFiles - [DriverFileInfo!] List of files that are used by the driver
Example
{
  "id": "<id>",
  "name": "<string>",
  "icon": "<string>",
  "libraryFiles": [DriverFileInfo]
}

DriverProviderInfo

Description

Information about a driver provider.

Fields
Field Name Description
id - ID! Unique identifier of the driver provider.
name - String! Display name of the driver provider.
icon - String Path to the icon of the driver provider.
Example
{"id": "<id>", "name": "<string>", "icon": "<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>"

Object

Description

Any object (JSON)

Example
"<object>"

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"

ServerError

Description

Various server errors descriptor

Fields
Field Name Description
message - String Error message text
errorCode - String Retrieves the vendor-specific error code
errorType - String Type/category of the error
stackTrace - String Stack trace for debugging
causedBy - ServerError Nested error that caused this error (recursive)
Example
{
  "message": "<string>",
  "errorCode": "<string>",
  "errorType": "<string>",
  "stackTrace": "<string>",
  "causedBy": ServerError
}

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>"