Skip to main content

Cluvio API (v2024-06-01)

Introduction

Welcome to the Cluvio public API!

The Cluvio public API can be used to programmatically view and manage your organization's Cluvio account from your own backend application. By using the Cluvio API, you can integrate the functionality of Cluvio into your organization's software stack to further automate your Cluvio-driven business analystics.

Security

The Cluvio public API is an HTTP API with Transport Layer Security. Individual requests are authenticated via API keys, which are described in more detail below.

JSON

All data transmitted in requests and responses on the Cluvio API is encoded in JSON. The request and response bodies of most create-read-update operations furthermore adhere to the structure defined by JSON:API. Whether a request or response body uses a JSON:API or regular JSON structure is identified in this documentation in the request body schema and response schema definitions of each API operation, respectively. The MIME type application/json identifies plain JSON and application/vnd.api+json identifies JSON according to JSON:API. These MIME types are transmitted in the Accept and Content-Type HTTP headers.

Any JSON attributes in API responses which are not documented must not be relied upon. Such attributes are not part of the public API and may disappear or be renamed without notice.

Clients

At this time, there are no programming-language-specific clients provided by Cluvio for the Cluvio API. It is easy to get started with the Cluvio API from any programming language by using your preferred HTTP client library. For ad hoc experimentation, command-line tools like curl can be used.

Servers

The Cluvio API uses two types of servers, API Servers and Data Servers.

The Cluvio servers are available in both of Cluvio's deployment locations, namely the US and the EU. When using the Cluvio API it is important to use the Cluvio servers corresponding to your Cluvio account location. You can see your Cluvio account location in the organization's admin settings.

Most Cluvio API operations are provided by the API servers and thus grouped as API Server Operations on the left-hand side navigation. API server operations require an API key for request authorization that has the permissions required for the operation. Each operation lists the required API key permissions.

In contrast, operations that fetch schema data or query result data must be performed on Cluvio data servers. These are grouped as Data Server Operations on the left-hand side navigation and require a short-lived data access token for request authorization. Data access tokens are obtained from certain API server operations.

EU Servers

US Servers

API Keys

An API key grants access to the API server operations. API keys can be created, updated and deleted by any admin in your organization. See API Keys in the Cluvio admin settings for details on managing API keys.

Usage

Each API key has a secret token, sometimes just referred to as the API key's secret. This secret is used to authenticate requests on the Cluvio API by including it in the request's Authorization header as follows:

Authorization: Api <secret>

The custom authentication scheme Api identifies the following secret to be an API key secret. The placeholder <secret> is to be replaced with your API key secret.

API key secrets do not expire and are valid for use on the Cluvio API for as long as the API key exists and is enabled.

Permissions

An API key has a set of permissions and some permissions may be restricted to specific resources, like datasources. In the documentation of an API operation, the AUTHORIZATIONS section lists the permissions required for the operation. For example,

AUTHORIZATIONS:
  ApiKey (Manage Datasources)

indicates that the API key must have the Manage Datasources permission to perform the operation.

Data Access Tokens

A data access token is a short-lived token that grants access to a data server operation. It may be obtained in the response of an API server operation and is always provided together with a data key. The data key together with the data access token uniquely identify the data to fetch from a Cluvio data server.

Usage

To use a data access token, include it in the request's Authorization header as follows:

Authorization: Data <token>

The custom authentication scheme Data identifies the following text to be a data access token. The placeholder <token> is to be replaced with the token obtained from the Cluvio API server.

Note: It is important to issue the data server request against the same Cluvio server location as the API server request that was used to obtain the data access token. For example, if you issued an API request to api.eu.cluvio.com and received a data key and data access token, the request to fetch the data must be sent to data.eu.cluvio.com.

Data access tokens expire within minutes. When received in a response from a Cluvio API server, they must be used immediately on a Cluvio data server, if the client wants to fetch the associated data.

Changelog

The following is a list of changes made to this API version since the initial release, in chronological order.

July 31st 2024

The values and value_names attributes are now available in the Create Filter and Update Filter operations to create and update drop-down filters with manual / static options. Use the Get Drop-Down Filter Options operation to fetch the options for an existing drop-down filter.

July 18th 2024

The include query parameter is now available on the Get User Group operation and can be used to include related users and dashboards in the response.

July 3rd 2024

A new operation Create Dashboard Backup is now available. This operation returns a JSON backup for a Cluvio dashboard that can later be used to create a new dashboard from a backup in the Cluvio App UI. See also Backup Dashboard in the Cluvio User Documentation.

Note: The backup JSON format is an internal format whose structure is not publicly documented and subject to change. Backup JSON files can only be used with the Cluvio App UI.

June 26th 2024

The all_time aggregation option is now available and can be used as an input value for a custom aggregation filter. Note that the filter must be explicitly configured to allow "All Time" aggregation in order for the input value to be accepted.

June 4th 2024

The sql_snippet relationship has been added to SqlSnippet response objects, for example in the response of the Get SQL Snippet operation.

Datasources

Create Datasource

Create a new datasource for use with reports, filters, SQL alerts and SQL snippets.

The maximum number of datasources in your account is limited by your subscription plan. See the Cluvio plan comparison. The datasource Cluvio Sample Data exists in every new subscription and does not count towards your limit.

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (DatasourceAttributes)
name
required
string
database_type
required
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
required
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
max_concurrent_executions
integer
Default: 20
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Responses

Response Schema: application/vnd.api+json
object (Datasource)
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "database_type": "postgres",
      • "connection_mode": "direct",
      • "host": "string",
      • "port": 0,
      • "username": "string",
      • "password": "string",
      • "database": "string",
      • "ssh_tunnel_host": "string",
      • "ssh_tunnel_port": 0,
      • "ssh_tunnel_user": "string",
      • "data_time_zone": "Europe/Berlin",
      • "require_ssl": true,
      • "verify_ssl": false,
      • "enabled": true,
      • "max_concurrent_executions": 20,
      • "update_schema_nightly": true,
      • "update_schema_row_counts": true,
      • "athena_region": "string",
      • "athena_workgroup": "string",
      • "databricks_http_path": "string",
      • "snowflake_identifier": "string",
      • "snowflake_region": "string",
      • "snowflake_warehouse": "string",
      • "bigquery_service_key": "string"
      },
    • "relationships": {
      • "agents": {
        • "data": [
          • {
            • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
            • "type": "datasource_agents"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "datasources",
    • "attributes": {
      • "name": "string",
      • "database_type": "postgres",
      • "connection_mode": "direct",
      • "host": "string",
      • "port": 0,
      • "username": "string",
      • "password": "string",
      • "database": "string",
      • "ssh_tunnel_host": "string",
      • "ssh_tunnel_port": 0,
      • "ssh_tunnel_user": "string",
      • "data_time_zone": "Europe/Berlin",
      • "require_ssl": true,
      • "verify_ssl": false,
      • "enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "schema_updated_at": "2019-08-24T14:15:22Z",
      • "total_row_count": 0,
      • "total_row_count_exact": true,
      • "default_schema_name": "string",
      • "max_concurrent_executions": 20,
      • "server_version": "string",
      • "update_schema_nightly": true,
      • "update_schema_row_counts": true,
      • "athena_region": "string",
      • "athena_workgroup": "string",
      • "databricks_http_path": "string",
      • "snowflake_identifier": "string",
      • "snowflake_region": "string",
      • "snowflake_warehouse": "string",
      • "bigquery_service_key": "string"
      },
    • "relationships": {
      • "agents": {
        • "data": [
          • {
            • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
            • "type": "datasource_agents"
            }
          ]
        }
      }
    }
}

List Datasources

Datasource credentials like the password or bigquery_service_key are only included in the returned attributes if the API key has Manage Datasources permission.

Authorizations:
ApiKeyApiKeyApiKeyApiKey
query Parameters
include
string
Value: "agents"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
Array of objects (Datasource)
Array
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"
Array of objects (DatasourceAgent)
Array
id
string
type
string
Value: "datasource_agents"
object (DatasourceAgentAttributes)
agent_id
string
name
string
version
string

The last known version of the agent.

If the agent is connected, this is the version of the connected agent. If the agent is not connected, this is the version of the agent when it was last connected.

address
string <ip>

The last known IP address of the agent.

If the agent is connected, this is the IP address of the agent as seen by the Cluvio servers. If the agent is disconnected, this is the IP address of the agent when it was last connected.

connected
boolean

Whether the agent is connected.

active_queries
integer

The approximate current number of running queries on the agent.

enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

created_at
string <date-time>
updated_at
string <date-time>
object (DatasourceAgentRelationships)
object

The datasources that use the agent.

Array of objects (DatasourceRef)
Array
id
string
type
string
Value: "datasources"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "datasources",
      • "attributes": {
        • "name": "string",
        • "database_type": "postgres",
        • "connection_mode": "direct",
        • "host": "string",
        • "port": 0,
        • "username": "string",
        • "password": "string",
        • "database": "string",
        • "ssh_tunnel_host": "string",
        • "ssh_tunnel_port": 0,
        • "ssh_tunnel_user": "string",
        • "data_time_zone": "Europe/Berlin",
        • "require_ssl": true,
        • "verify_ssl": false,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "schema_updated_at": "2019-08-24T14:15:22Z",
        • "total_row_count": 0,
        • "total_row_count_exact": true,
        • "default_schema_name": "string",
        • "max_concurrent_executions": 20,
        • "server_version": "string",
        • "update_schema_nightly": true,
        • "update_schema_row_counts": true,
        • "athena_region": "string",
        • "athena_workgroup": "string",
        • "databricks_http_path": "string",
        • "snowflake_identifier": "string",
        • "snowflake_region": "string",
        • "snowflake_warehouse": "string",
        • "bigquery_service_key": "string"
        },
      • "relationships": {
        • "agents": {
          • "data": [
            • {
              • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
              • "type": "datasource_agents"
              }
            ]
          }
        }
      }
    ],
  • "included": [
    • {
      • "id": "string",
      • "type": "datasource_agents",
      • "attributes": {
        • "agent_id": "string",
        • "name": "string",
        • "version": "string",
        • "address": "string",
        • "connected": true,
        • "active_queries": 0,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "datasources": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "datasources"
              }
            ]
          }
        }
      }
    ]
}

Get Datasource

Datasource credentials like the password or bigquery_service_key are only included in the returned attributes if the API key has Manage Datasources permission.

Authorizations:
ApiKeyApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Value: "agents"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
object (Datasource)
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"
Array of objects (DatasourceAgent)
Array
id
string
type
string
Value: "datasource_agents"
object (DatasourceAgentAttributes)
agent_id
string
name
string
version
string

The last known version of the agent.

If the agent is connected, this is the version of the connected agent. If the agent is not connected, this is the version of the agent when it was last connected.

address
string <ip>

The last known IP address of the agent.

If the agent is connected, this is the IP address of the agent as seen by the Cluvio servers. If the agent is disconnected, this is the IP address of the agent when it was last connected.

connected
boolean

Whether the agent is connected.

active_queries
integer

The approximate current number of running queries on the agent.

enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

created_at
string <date-time>
updated_at
string <date-time>
object (DatasourceAgentRelationships)
object

The datasources that use the agent.

Array of objects (DatasourceRef)
Array
id
string
type
string
Value: "datasources"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "datasources",
    • "attributes": {
      • "name": "string",
      • "database_type": "postgres",
      • "connection_mode": "direct",
      • "host": "string",
      • "port": 0,
      • "username": "string",
      • "password": "string",
      • "database": "string",
      • "ssh_tunnel_host": "string",
      • "ssh_tunnel_port": 0,
      • "ssh_tunnel_user": "string",
      • "data_time_zone": "Europe/Berlin",
      • "require_ssl": true,
      • "verify_ssl": false,
      • "enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "schema_updated_at": "2019-08-24T14:15:22Z",
      • "total_row_count": 0,
      • "total_row_count_exact": true,
      • "default_schema_name": "string",
      • "max_concurrent_executions": 20,
      • "server_version": "string",
      • "update_schema_nightly": true,
      • "update_schema_row_counts": true,
      • "athena_region": "string",
      • "athena_workgroup": "string",
      • "databricks_http_path": "string",
      • "snowflake_identifier": "string",
      • "snowflake_region": "string",
      • "snowflake_warehouse": "string",
      • "bigquery_service_key": "string"
      },
    • "relationships": {
      • "agents": {
        • "data": [
          • {
            • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
            • "type": "datasource_agents"
            }
          ]
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "datasource_agents",
      • "attributes": {
        • "agent_id": "string",
        • "name": "string",
        • "version": "string",
        • "address": "string",
        • "connected": true,
        • "active_queries": 0,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "datasources": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "datasources"
              }
            ]
          }
        }
      }
    ]
}

Update Datasource

Update a datasource to change connection parameters or configuration options.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
max_concurrent_executions
integer
Default: 20
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Responses

Response Schema: application/vnd.api+json
object (Datasource)
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "database_type": "postgres",
      • "connection_mode": "direct",
      • "host": "string",
      • "port": 0,
      • "username": "string",
      • "password": "string",
      • "database": "string",
      • "ssh_tunnel_host": "string",
      • "ssh_tunnel_port": 0,
      • "ssh_tunnel_user": "string",
      • "data_time_zone": "Europe/Berlin",
      • "require_ssl": true,
      • "verify_ssl": false,
      • "enabled": true,
      • "max_concurrent_executions": 20,
      • "update_schema_nightly": true,
      • "update_schema_row_counts": true,
      • "athena_region": "string",
      • "athena_workgroup": "string",
      • "databricks_http_path": "string",
      • "snowflake_identifier": "string",
      • "snowflake_region": "string",
      • "snowflake_warehouse": "string",
      • "bigquery_service_key": "string"
      },
    • "relationships": {
      • "agents": {
        • "data": [
          • {
            • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
            • "type": "datasource_agents"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "datasources",
    • "attributes": {
      • "name": "string",
      • "database_type": "postgres",
      • "connection_mode": "direct",
      • "host": "string",
      • "port": 0,
      • "username": "string",
      • "password": "string",
      • "database": "string",
      • "ssh_tunnel_host": "string",
      • "ssh_tunnel_port": 0,
      • "ssh_tunnel_user": "string",
      • "data_time_zone": "Europe/Berlin",
      • "require_ssl": true,
      • "verify_ssl": false,
      • "enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "schema_updated_at": "2019-08-24T14:15:22Z",
      • "total_row_count": 0,
      • "total_row_count_exact": true,
      • "default_schema_name": "string",
      • "max_concurrent_executions": 20,
      • "server_version": "string",
      • "update_schema_nightly": true,
      • "update_schema_row_counts": true,
      • "athena_region": "string",
      • "athena_workgroup": "string",
      • "databricks_http_path": "string",
      • "snowflake_identifier": "string",
      • "snowflake_region": "string",
      • "snowflake_warehouse": "string",
      • "bigquery_service_key": "string"
      },
    • "relationships": {
      • "agents": {
        • "data": [
          • {
            • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
            • "type": "datasource_agents"
            }
          ]
        }
      }
    }
}

Delete Datasource

A datasource can only be deleted if it is not used by any report or filter.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Test Datasource Connection

Tests a datasource connection.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response Schema: application/json
status
string
Enum: "ok" "error"
error_message
string

The connection error message if the status is error.

Response samples

Content type
application/json
{
  • "status": "ok",
  • "error_message": "string"
}

Refresh Datasource

Refresh datasource metadata, including schema information.

On success this operation returns an execution ID that can be used to track the progress of the refresh operation.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response Schema: application/json
execution_id
string <uuid>

Response samples

Content type
application/json
{
  • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670"
}

Get Datasource Schema

Get a data_key and data_access_token to get the datasource schema data from a Cluvio data server.

Authorizations:
ApiKeyApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
name
string

[Optional] The schema name.

Responses

Response Schema: application/json
data_key
string
data_access_token
string

Use as authorization, together with the data_key, to fetch the schema using the Get Schema Data operation on a Cluvio Data Server.

The response will be a single schema JSON when the schema query parameter was used, or full schema JSON otherwise.

Response samples

Content type
application/json
{
  • "data_key": "string",
  • "data_access_token": "string"
}

Create Datasource Agent

Create a new datasource agent.

A successful response contains a secret_key attribute that must be safely stored in the datasource agent configuration file. The datasource agent uses the secret key to authenticate itself to the Cluvio servers when connecting.

After creating and connecting a new agent, it can be used by datasources with connection mode agent. See the updateDatasource operation.

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (DatasourceAgentAttributes)
name
required
string
enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

Responses

Response Schema: application/vnd.api+json
object (DatasourceAgentWithSecret)
id
string
type
string
Value: "datasource_agents"
object
agent_id
string
name
string
version
string

The last known version of the agent.

If the agent is connected, this is the version of the connected agent. If the agent is not connected, this is the version of the agent when it was last connected.

address
string <ip>

The last known IP address of the agent.

If the agent is connected, this is the IP address of the agent as seen by the Cluvio servers. If the agent is disconnected, this is the IP address of the agent when it was last connected.

connected
boolean

Whether the agent is connected.

active_queries
integer

The approximate current number of running queries on the agent.

enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

created_at
string <date-time>
updated_at
string <date-time>
secret_key
string

The generated secret key for the new agent.

The secret key is only returned once when creating a new agent. The secret key must be included in the datasource agent configuration and is used by the agent to authenticate itself to the Cluvio servers when connecting.

object (DatasourceAgentRelationships)
object

The datasources that use the agent.

Array of objects (DatasourceRef)
Array
id
string
type
string
Value: "datasources"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "enabled": true
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "datasource_agents",
    • "attributes": {
      • "agent_id": "string",
      • "name": "string",
      • "version": "string",
      • "address": "string",
      • "connected": true,
      • "active_queries": 0,
      • "enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "secret_key": "string"
      },
    • "relationships": {
      • "datasources": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          ]
        }
      }
    }
}

List Datasource Agents

Authorizations:
ApiKeyApiKey
query Parameters
include
string
Value: "datasources"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
Array of objects (DatasourceAgent)
Array
id
string
type
string
Value: "datasource_agents"
object (DatasourceAgentAttributes)
agent_id
string
name
string
version
string

The last known version of the agent.

If the agent is connected, this is the version of the connected agent. If the agent is not connected, this is the version of the agent when it was last connected.

address
string <ip>

The last known IP address of the agent.

If the agent is connected, this is the IP address of the agent as seen by the Cluvio servers. If the agent is disconnected, this is the IP address of the agent when it was last connected.

connected
boolean

Whether the agent is connected.

active_queries
integer

The approximate current number of running queries on the agent.

enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

created_at
string <date-time>
updated_at
string <date-time>
object (DatasourceAgentRelationships)
object

The datasources that use the agent.

Array of objects (DatasourceRef)
Array
id
string
type
string
Value: "datasources"
Array of objects (Datasource)
Array
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "datasource_agents",
      • "attributes": {
        • "agent_id": "string",
        • "name": "string",
        • "version": "string",
        • "address": "string",
        • "connected": true,
        • "active_queries": 0,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "datasources": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "datasources"
              }
            ]
          }
        }
      }
    ],
  • "included": [
    • {
      • "id": "string",
      • "type": "datasources",
      • "attributes": {
        • "name": "string",
        • "database_type": "postgres",
        • "connection_mode": "direct",
        • "host": "string",
        • "port": 0,
        • "username": "string",
        • "password": "string",
        • "database": "string",
        • "ssh_tunnel_host": "string",
        • "ssh_tunnel_port": 0,
        • "ssh_tunnel_user": "string",
        • "data_time_zone": "Europe/Berlin",
        • "require_ssl": true,
        • "verify_ssl": false,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "schema_updated_at": "2019-08-24T14:15:22Z",
        • "total_row_count": 0,
        • "total_row_count_exact": true,
        • "default_schema_name": "string",
        • "max_concurrent_executions": 20,
        • "server_version": "string",
        • "update_schema_nightly": true,
        • "update_schema_row_counts": true,
        • "athena_region": "string",
        • "athena_workgroup": "string",
        • "databricks_http_path": "string",
        • "snowflake_identifier": "string",
        • "snowflake_region": "string",
        • "snowflake_warehouse": "string",
        • "bigquery_service_key": "string"
        },
      • "relationships": {
        • "agents": {
          • "data": [
            • {
              • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
              • "type": "datasource_agents"
              }
            ]
          }
        }
      }
    ]
}

Get Datasource Agent

Get a datasource agent by ID.

Authorizations:
ApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Value: "datasources"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
object (DatasourceAgent)
id
string
type
string
Value: "datasource_agents"
object (DatasourceAgentAttributes)
agent_id
string
name
string
version
string

The last known version of the agent.

If the agent is connected, this is the version of the connected agent. If the agent is not connected, this is the version of the agent when it was last connected.

address
string <ip>

The last known IP address of the agent.

If the agent is connected, this is the IP address of the agent as seen by the Cluvio servers. If the agent is disconnected, this is the IP address of the agent when it was last connected.

connected
boolean

Whether the agent is connected.

active_queries
integer

The approximate current number of running queries on the agent.

enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

created_at
string <date-time>
updated_at
string <date-time>
object (DatasourceAgentRelationships)
object

The datasources that use the agent.

Array of objects (DatasourceRef)
Array
id
string
type
string
Value: "datasources"
Array of objects (Datasource)
Array
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "datasource_agents",
    • "attributes": {
      • "agent_id": "string",
      • "name": "string",
      • "version": "string",
      • "address": "string",
      • "connected": true,
      • "active_queries": 0,
      • "enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasources": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          ]
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "datasources",
      • "attributes": {
        • "name": "string",
        • "database_type": "postgres",
        • "connection_mode": "direct",
        • "host": "string",
        • "port": 0,
        • "username": "string",
        • "password": "string",
        • "database": "string",
        • "ssh_tunnel_host": "string",
        • "ssh_tunnel_port": 0,
        • "ssh_tunnel_user": "string",
        • "data_time_zone": "Europe/Berlin",
        • "require_ssl": true,
        • "verify_ssl": false,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "schema_updated_at": "2019-08-24T14:15:22Z",
        • "total_row_count": 0,
        • "total_row_count_exact": true,
        • "default_schema_name": "string",
        • "max_concurrent_executions": 20,
        • "server_version": "string",
        • "update_schema_nightly": true,
        • "update_schema_row_counts": true,
        • "athena_region": "string",
        • "athena_workgroup": "string",
        • "databricks_http_path": "string",
        • "snowflake_identifier": "string",
        • "snowflake_region": "string",
        • "snowflake_warehouse": "string",
        • "bigquery_service_key": "string"
        },
      • "relationships": {
        • "agents": {
          • "data": [
            • {
              • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
              • "type": "datasource_agents"
              }
            ]
          }
        }
      }
    ]
}

Update Datasource Agent

A datasource agent can only be updated if the API key has Manage Datasources permission on all datasources that use the agent.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (DatasourceAgentAttributes)
name
string
enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

Responses

Response Schema: application/vnd.api+json
object (DatasourceAgent)
id
string
type
string
Value: "datasource_agents"
object (DatasourceAgentAttributes)
agent_id
string
name
string
version
string

The last known version of the agent.

If the agent is connected, this is the version of the connected agent. If the agent is not connected, this is the version of the agent when it was last connected.

address
string <ip>

The last known IP address of the agent.

If the agent is connected, this is the IP address of the agent as seen by the Cluvio servers. If the agent is disconnected, this is the IP address of the agent when it was last connected.

connected
boolean

Whether the agent is connected.

active_queries
integer

The approximate current number of running queries on the agent.

enabled
boolean
Default: true

Whether the agent is enabled.

Only enabled agents can connect to Cluvio servers. When a connected agent is disabled, it is disconnected.

created_at
string <date-time>
updated_at
string <date-time>
object (DatasourceAgentRelationships)
object

The datasources that use the agent.

Array of objects (DatasourceRef)
Array
id
string
type
string
Value: "datasources"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "enabled": true
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "datasource_agents",
    • "attributes": {
      • "agent_id": "string",
      • "name": "string",
      • "version": "string",
      • "address": "string",
      • "connected": true,
      • "active_queries": 0,
      • "enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasources": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          ]
        }
      }
    }
}

Delete Datasource Agent

A datasource agent can only be deleted if it is not used by any datasource.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Run Execution

Run an ad hoc execution on a datasource.

An ad hoc execution consists of a SQL query, optionally an R query and input parameters for any Cluvio parameter expressions used in the SQL query. The R query can be used to post-process the SQL query results, see Using R in the user reference documentation for further details.

Poll the execution to check for progress, then get the execution data authorization to get the result data from a Cluvio data server.

Note: If the API key only has Manage Dashboards or Manage Alerts permission, it may be restricted to a subset of datasources.

Authorizations:
ApiKeyApiKeyApiKey
Request Body schema: application/json
required
sql_query
required
string

The SQL query to run.

r_query
string

The R query to run on the SQL results.

object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/vnd.api+json
object (Execution)
id
string
type
string
Value: "executions"
object (ExecutionAttributes)
execution_id
string <uuid>
execution_type
string
Enum: "sql_query" "sql_filter" "sql_alert" "almanach_query" "export_query"
execution_status
string
Enum: "starting" "running" "waiting" "scheduled" "cancelled" "success" "query_error" "timed_out" "internal_error" "internal_timeout"
result_columns
integer
result_rows
integer
result_size
integer
created_at
string <date-time>
updated_at
string <date-time>
started_at
string <date-time>
completed_at
string <date-time>

Request samples

Content type
application/json
{
  • "sql_query": "string",
  • "r_query": "string",
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "executions",
    • "attributes": {
      • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670",
      • "execution_type": "sql_query",
      • "execution_status": "starting",
      • "result_columns": 0,
      • "result_rows": 0,
      • "result_size": 0,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "started_at": "2019-08-24T14:15:22Z",
      • "completed_at": "2019-08-24T14:15:22Z"
      }
    }
}

Get Execution

Get the current state of an execution.

An execution is only available for 24 hours after it started.

Authorizations:
ApiKeyApiKeyApiKeyApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
object (Execution)
id
string
type
string
Value: "executions"
object (ExecutionAttributes)
execution_id
string <uuid>
execution_type
string
Enum: "sql_query" "sql_filter" "sql_alert" "almanach_query" "export_query"
execution_status
string
Enum: "starting" "running" "waiting" "scheduled" "cancelled" "success" "query_error" "timed_out" "internal_error" "internal_timeout"
result_columns
integer
result_rows
integer
result_size
integer
created_at
string <date-time>
updated_at
string <date-time>
started_at
string <date-time>
completed_at
string <date-time>

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "executions",
    • "attributes": {
      • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670",
      • "execution_type": "sql_query",
      • "execution_status": "starting",
      • "result_columns": 0,
      • "result_rows": 0,
      • "result_size": 0,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "started_at": "2019-08-24T14:15:22Z",
      • "completed_at": "2019-08-24T14:15:22Z"
      }
    }
}

Cancel Execution

Cancel a running execution.

If the execution already completed, this operation has no effect.

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Get Execution Data

Get a data key and access token for an execution's result data.

Execution data is only available for 24 hours after an execution completed.

This operation results in a 204 response if the execution does not have data, in which case it is either still running or did not complete successfully.

Authorizations:
ApiKeyApiKeyApiKeyApiKeyApiKey

Responses

Response Schema: application/json
data_key
string
data_access_token
string

Use as authorization, together with the data_key to fetch the result data using the Get Result Data operation on a Cluvio Data Server.

The response will be JSON (content-type application/json).

data_timestamp
integer <unix-time>

Response samples

Content type
application/json
{
  • "data_key": "string",
  • "data_access_token": "string",
  • "data_timestamp": 0
}

Dashboards

Create Dashboard

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (DashboardAttributes)
name
required
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
type
string
Default: "disabled"
Enum: "disabled" "organization" "fixed" "input"
fixed_time_zone
string

Only for type fixed

allowed_time_zones
Array of strings

Only for type input

automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

prewarm
boolean
Default: false
data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
apply_immediately
boolean

Whether each individual filter value selection in the Cluvio filter bar should be applied to reports and other filters on the dashboard immediately.

Note: Multi-select filters always require confirmation of the selection.

aggregation_options
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"
filter_sorting
Array of strings

List of filter variable names used on the dashboard determining their order of appearance (left-to-right, top-to-bottom).

Any dashboard filters not included in the list are sorted at the end.

hidden_parameters
Array of strings

Responses

Response Schema: application/vnd.api+json
object (Dashboard)
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
type
string
Default: "disabled"
Enum: "disabled" "organization" "fixed" "input"
fixed_time_zone
string

Only for type fixed

allowed_time_zones
Array of strings

Only for type input

automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

Array
type
string
Value: "report"
id
string

The ID of the dashboard content element.

row
integer

The vertical position (Y-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1.

column
integer

The horizontal position (X-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

width
integer

The width of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

height
integer

The height of the content element on the dashboard's layout grid.

The minimum value is 1.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
apply_immediately
boolean

Whether each individual filter value selection in the Cluvio filter bar should be applied to reports and other filters on the dashboard immediately.

Note: Multi-select filters always require confirmation of the selection.

aggregation_options
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"
filter_sorting
Array of strings

List of filter variable names used on the dashboard determining their order of appearance (left-to-right, top-to-bottom).

Any dashboard filters not included in the list are sorted at the end.

hidden_parameters
Array of strings
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
Array of objects (ReportRef)
Array
id
string
type
string
Value: "reports"
object
Array of objects (FilterRef)
Array
id
string
type
string
Value: "filters"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object
Array of objects (DashboardGroupRef)
Array
id
string
type
string
Value: "dashboard_groups"
object
Array of objects (DashboardSharingLinkRef)

The sharing links of the dashboard.

Only present if the API key has Manage Dashboards permission.

Array
object
id
string
type
string
Value: "dashboard_sharing_links"
object
object (UserRef)

The owner of the dashboard.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

id
string
type
string
Value: "users"
object
Array of objects (UserGroupRef)

The user groups the dashboard is shared with.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

Array
id
string
type
string
Value: "user_groups"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "time_zone_config": {
        • "type": "disabled",
        • "fixed_time_zone": "Europe/Berlin",
        • "allowed_time_zones": [
          • "Europe/Berlin"
          ]
        },
      • "automatic_update_enabled": true,
      • "thumbnail_enabled": true,
      • "prewarm": false,
      • "data_refresh_rate": 1440,
      • "data_refresh_anchor_time": "15:42",
      • "is_locked": false,
      • "default_parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "default_page_width": 1600,
      • "layout": [
        • {
          • "type": "report",
          • "id": "string",
          • "row": 0,
          • "column": 0,
          • "width": 0,
          • "height": 0
          }
        ],
      • "color_scheme": "scheme_1",
      • "filters_configuration": {
        • "apply_immediately": true,
        • "aggregation_options": [
          • "second"
          ],
        • "filter_sorting": [
          • "string"
          ],
        • "hidden_parameters": [
          • "string"
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboards",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "time_zone_config": {
        • "type": "disabled",
        • "fixed_time_zone": "Europe/Berlin",
        • "allowed_time_zones": [
          • "Europe/Berlin"
          ]
        },
      • "automatic_update_enabled": true,
      • "thumbnail_enabled": true,
      • "thumbnail_image_url": "http://example.com",
      • "thumbnail_created_at": "2019-08-24T14:15:22Z",
      • "prewarm": false,
      • "published": true,
      • "data_refresh_rate": 1440,
      • "data_refresh_anchor_time": "15:42",
      • "is_locked": false,
      • "default_parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "default_page_width": 1600,
      • "layout": [
        • {
          • "type": "report",
          • "id": "string",
          • "row": 0,
          • "column": 0,
          • "width": 0,
          • "height": 0
          }
        ],
      • "floating_enabled": false,
      • "color_scheme": "scheme_1",
      • "filters_configuration": {
        • "apply_immediately": true,
        • "aggregation_options": [
          • "second"
          ],
        • "filter_sorting": [
          • "string"
          ],
        • "hidden_parameters": [
          • "string"
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "reports": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "reports"
            }
          ]
        },
      • "filters": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "filters"
            }
          ]
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "dashboard_groups": {
        • "data": [
          • {
            • "id": "zxdr-j9y7-4g5p",
            • "type": "dashboard_groups"
            }
          ]
        },
      • "dashboard_sharing_links": {
        • "data": [
          • {
            • "data": {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboard_sharing_links"
              }
            }
          ]
        },
      • "user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        },
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        }
      }
    }
}

List Dashboards

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (Dashboard)
Array
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
object
object
object
object
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "dashboards",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "time_zone_config": {
          • "type": "disabled",
          • "fixed_time_zone": "Europe/Berlin",
          • "allowed_time_zones": [
            • "Europe/Berlin"
            ]
          },
        • "automatic_update_enabled": true,
        • "thumbnail_enabled": true,
        • "thumbnail_image_url": "http://example.com",
        • "thumbnail_created_at": "2019-08-24T14:15:22Z",
        • "prewarm": false,
        • "published": true,
        • "data_refresh_rate": 1440,
        • "data_refresh_anchor_time": "15:42",
        • "is_locked": false,
        • "default_parameters": {
          • "timerange": "1712233090~1712237090",
          • "aggregation": "second",
          • "tz": "Europe/Berlin",
          • "filters": [
            • {
              • "variable_name": "string",
              • "selected_values": [
                • 0
                ]
              }
            ]
          },
        • "default_page_width": 1600,
        • "layout": [
          • {
            • "type": "report",
            • "id": "string",
            • "row": 0,
            • "column": 0,
            • "width": 0,
            • "height": 0
            }
          ],
        • "floating_enabled": false,
        • "color_scheme": "scheme_1",
        • "filters_configuration": {
          • "apply_immediately": true,
          • "aggregation_options": [
            • "second"
            ],
          • "filter_sorting": [
            • "string"
            ],
          • "hidden_parameters": [
            • "string"
            ]
          },
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "reports": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "reports"
              }
            ]
          },
        • "filters": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "filters"
              }
            ]
          },
        • "sql_snippets": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "sql_snippets"
              }
            ]
          },
        • "dashboard_groups": {
          • "data": [
            • {
              • "id": "zxdr-j9y7-4g5p",
              • "type": "dashboard_groups"
              }
            ]
          },
        • "dashboard_sharing_links": {
          • "data": [
            • {
              • "data": {
                • "id": "8qxn-y9ex-65vd",
                • "type": "dashboard_sharing_links"
                }
              }
            ]
          },
        • "user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          },
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          }
        }
      }
    ]
}

Get Dashboard

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "reports" "filters" "sql_snippets" "dashboard_groups" "dashboard_sharing_links" "user" "user_groups"

[Optional] The relationship objects to include in the included section of the response.

Including user or user_groups requires View Users, Manage Users or Manage Dashboards permission.

Including dashboard_sharing_links requires Manage Dashboards permission.

Responses

Response Schema: application/vnd.api+json
object (Dashboard)
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
type
string
Default: "disabled"
Enum: "disabled" "organization" "fixed" "input"
fixed_time_zone
string

Only for type fixed

allowed_time_zones
Array of strings

Only for type input

automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

Array
type
string
Value: "report"
id
string

The ID of the dashboard content element.

row
integer

The vertical position (Y-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1.

column
integer

The horizontal position (X-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

width
integer

The width of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

height
integer

The height of the content element on the dashboard's layout grid.

The minimum value is 1.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
apply_immediately
boolean

Whether each individual filter value selection in the Cluvio filter bar should be applied to reports and other filters on the dashboard immediately.

Note: Multi-select filters always require confirmation of the selection.

aggregation_options
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"
filter_sorting
Array of strings

List of filter variable names used on the dashboard determining their order of appearance (left-to-right, top-to-bottom).

Any dashboard filters not included in the list are sorted at the end.

hidden_parameters
Array of strings
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
Array of objects (ReportRef)
Array
id
string
type
string
Value: "reports"
object
Array of objects (FilterRef)
Array
id
string
type
string
Value: "filters"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object
Array of objects (DashboardGroupRef)
Array
id
string
type
string
Value: "dashboard_groups"
object
Array of objects (DashboardSharingLinkRef)

The sharing links of the dashboard.

Only present if the API key has Manage Dashboards permission.

Array
object
id
string
type
string
Value: "dashboard_sharing_links"
object
object (UserRef)

The owner of the dashboard.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

id
string
type
string
Value: "users"
object
Array of objects (UserGroupRef)

The user groups the dashboard is shared with.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

Array
id
string
type
string
Value: "user_groups"
Array of User (object) or Report (object) or UserGroup (object) or DashboardGroup (object) or Filter (object) or SqlSnippet (object) or DashboardSharingLink (object)

The optionally included relationship objects.

Array
One of
id
string
type
string
Value: "users"
object (UserAttributes)
firstname
string
lastname
string
email
string <email>
role
string
Enum: "viewer" "analyst" "admin"
otp_app_enabled
boolean

Only present if the API key has Manage Users permission.

otp_phone_enabled
boolean

Only present if the API key has Manage Users permission.

created_at
string <date-time>

The date & time when the user was created.

deactivated_at
string <date-time>

The date & time when the user was deactivated.

invitation_created_at
string <date-time>

The date & time when the user invitation was sent.

invitation_accepted_at
string <date-time>

The date & time when the user invitation was accepted.

object (UserRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboards",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "time_zone_config": {
        • "type": "disabled",
        • "fixed_time_zone": "Europe/Berlin",
        • "allowed_time_zones": [
          • "Europe/Berlin"
          ]
        },
      • "automatic_update_enabled": true,
      • "thumbnail_enabled": true,
      • "thumbnail_image_url": "http://example.com",
      • "thumbnail_created_at": "2019-08-24T14:15:22Z",
      • "prewarm": false,
      • "published": true,
      • "data_refresh_rate": 1440,
      • "data_refresh_anchor_time": "15:42",
      • "is_locked": false,
      • "default_parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "default_page_width": 1600,
      • "layout": [
        • {
          • "type": "report",
          • "id": "string",
          • "row": 0,
          • "column": 0,
          • "width": 0,
          • "height": 0
          }
        ],
      • "floating_enabled": false,
      • "color_scheme": "scheme_1",
      • "filters_configuration": {
        • "apply_immediately": true,
        • "aggregation_options": [
          • "second"
          ],
        • "filter_sorting": [
          • "string"
          ],
        • "hidden_parameters": [
          • "string"
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "reports": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "reports"
            }
          ]
        },
      • "filters": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "filters"
            }
          ]
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "dashboard_groups": {
        • "data": [
          • {
            • "id": "zxdr-j9y7-4g5p",
            • "type": "dashboard_groups"
            }
          ]
        },
      • "dashboard_sharing_links": {
        • "data": [
          • {
            • "data": {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboard_sharing_links"
              }
            }
          ]
        },
      • "user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        },
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        }
      }
    },
  • "included": [
    • {
      • "id": "zg6p-xee0-x9jy",
      • "type": "users",
      • "attributes": {
        • "firstname": "string",
        • "lastname": "string",
        • "email": "user@example.com",
        • "role": "viewer",
        • "otp_app_enabled": true,
        • "otp_phone_enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "deactivated_at": "2019-08-24T14:15:22Z",
        • "invitation_created_at": "2019-08-24T14:15:22Z",
        • "invitation_accepted_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          },
        • "invited_by_user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          }
        }
      }
    ]
}

Update Dashboard

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
type
string
Default: "disabled"
Enum: "disabled" "organization" "fixed" "input"
fixed_time_zone
string

Only for type fixed

allowed_time_zones
Array of strings

Only for type input

automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

prewarm
boolean
Default: false
data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
apply_immediately
boolean

Whether each individual filter value selection in the Cluvio filter bar should be applied to reports and other filters on the dashboard immediately.

Note: Multi-select filters always require confirmation of the selection.

aggregation_options
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"
filter_sorting
Array of strings

List of filter variable names used on the dashboard determining their order of appearance (left-to-right, top-to-bottom).

Any dashboard filters not included in the list are sorted at the end.

hidden_parameters
Array of strings

Responses

Response Schema: application/vnd.api+json
object (Dashboard)
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
type
string
Default: "disabled"
Enum: "disabled" "organization" "fixed" "input"
fixed_time_zone
string

Only for type fixed

allowed_time_zones
Array of strings

Only for type input

automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

Array
type
string
Value: "report"
id
string

The ID of the dashboard content element.

row
integer

The vertical position (Y-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1.

column
integer

The horizontal position (X-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

width
integer

The width of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

height
integer

The height of the content element on the dashboard's layout grid.

The minimum value is 1.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
apply_immediately
boolean

Whether each individual filter value selection in the Cluvio filter bar should be applied to reports and other filters on the dashboard immediately.

Note: Multi-select filters always require confirmation of the selection.

aggregation_options
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"
filter_sorting
Array of strings

List of filter variable names used on the dashboard determining their order of appearance (left-to-right, top-to-bottom).

Any dashboard filters not included in the list are sorted at the end.

hidden_parameters
Array of strings
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
Array of objects (ReportRef)
Array
id
string
type
string
Value: "reports"
object
Array of objects (FilterRef)
Array
id
string
type
string
Value: "filters"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object
Array of objects (DashboardGroupRef)
Array
id
string
type
string
Value: "dashboard_groups"
object
Array of objects (DashboardSharingLinkRef)

The sharing links of the dashboard.

Only present if the API key has Manage Dashboards permission.

Array
object
id
string
type
string
Value: "dashboard_sharing_links"
object
object (UserRef)

The owner of the dashboard.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

id
string
type
string
Value: "users"
object
Array of objects (UserGroupRef)

The user groups the dashboard is shared with.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

Array
id
string
type
string
Value: "user_groups"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "time_zone_config": {
        • "type": "disabled",
        • "fixed_time_zone": "Europe/Berlin",
        • "allowed_time_zones": [
          • "Europe/Berlin"
          ]
        },
      • "automatic_update_enabled": true,
      • "thumbnail_enabled": true,
      • "prewarm": false,
      • "data_refresh_rate": 1440,
      • "data_refresh_anchor_time": "15:42",
      • "is_locked": false,
      • "default_parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "default_page_width": 1600,
      • "layout": [
        • {
          • "type": "report",
          • "id": "string",
          • "row": 0,
          • "column": 0,
          • "width": 0,
          • "height": 0
          }
        ],
      • "color_scheme": "scheme_1",
      • "filters_configuration": {
        • "apply_immediately": true,
        • "aggregation_options": [
          • "second"
          ],
        • "filter_sorting": [
          • "string"
          ],
        • "hidden_parameters": [
          • "string"
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboards",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "time_zone_config": {
        • "type": "disabled",
        • "fixed_time_zone": "Europe/Berlin",
        • "allowed_time_zones": [
          • "Europe/Berlin"
          ]
        },
      • "automatic_update_enabled": true,
      • "thumbnail_enabled": true,
      • "thumbnail_image_url": "http://example.com",
      • "thumbnail_created_at": "2019-08-24T14:15:22Z",
      • "prewarm": false,
      • "published": true,
      • "data_refresh_rate": 1440,
      • "data_refresh_anchor_time": "15:42",
      • "is_locked": false,
      • "default_parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "default_page_width": 1600,
      • "layout": [
        • {
          • "type": "report",
          • "id": "string",
          • "row": 0,
          • "column": 0,
          • "width": 0,
          • "height": 0
          }
        ],
      • "floating_enabled": false,
      • "color_scheme": "scheme_1",
      • "filters_configuration": {
        • "apply_immediately": true,
        • "aggregation_options": [
          • "second"
          ],
        • "filter_sorting": [
          • "string"
          ],
        • "hidden_parameters": [
          • "string"
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "reports": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "reports"
            }
          ]
        },
      • "filters": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "filters"
            }
          ]
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "dashboard_groups": {
        • "data": [
          • {
            • "id": "zxdr-j9y7-4g5p",
            • "type": "dashboard_groups"
            }
          ]
        },
      • "dashboard_sharing_links": {
        • "data": [
          • {
            • "data": {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboard_sharing_links"
              }
            }
          ]
        },
      • "user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        },
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        }
      }
    }
}

Delete Dashboard

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Poll Dashboard Status

Poll the dashboard status.

Polling the dashboard status is the primary operation for inspecting a dashboard's content and triggering report and filter queries.

The response contains status information for every report and filter on the dashboard. The status of reports and drop-down filters using dynamic SQL contains a data_key. The status of each data key can be inspected in the top-level data_keys object of the response. When a report or filter query finished and result data is available, the result_status of the data key is success and a data_access_token is provided. Use the data_key and the data_access_token to get the result data from a Cluvio data server.

This operation only triggers a new query execution for a report or filter if refresh_data is set to true in the request and the existing cached data of the report or filter for the same input parameters is out-of-date with regards to the effective data refresh rate. To continuously poll a dashboard and keep the dashboard data up-to-date, set refresh_data to true for every request.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required

Dashboard Status Input

refresh_data
boolean
Default: false

Whether the status call should trigger new queries, if necessary according to the effective data refresh rate for each report and SQL filter.

object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
object
additional property
ReportStatus (object) or ReportStatusError (object)

The status of each report used on the dashboard.

One of
data_key
string
updated_at
string <date-time>
object
additional property
ManualFilterStatus (object) or StaticSqlFilterStatus (object) or DynamicSqlFilterStatus (object) or FilterStatusError (object)

The status of each custom filter used on the dashboard.

One of
updated_at
string <date-time>
object
additional property
object

The status of each report or dynamic SQL filter data key.

result_status
string

The data key result status, which is either the execution status or no-data if there are no cached results for the data key.

data_timestamp
integer <unix-timestamp>

Only if result_status is success.

data_current
boolean

Only if result_status is success.

data_access_token
string

Only if result_status is success.

Use as authorization, together with the data_key to fetch the result data using the Get Result Data operation on a Cluvio Data Server.

The response will be JSON (content-type application/json).

execution_id
string <uuid>

The ID of the execution that produces or produced the results for this data key.

execution_status
string

The status of the execution that produces or produced the results for this data key.

running
boolean

Whether a query execution is running for this data key.

updated_at
string <date-time>
status_check_delay
integer
Default: 60

The suggested delay before the next status check.

Request samples

Content type
application/json
{
  • "refresh_data": false,
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "reports": {
    • "property1": {
      • "data_key": "string",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "property2": {
      • "data_key": "string",
      • "updated_at": "2019-08-24T14:15:22Z"
      }
    },
  • "filters": {
    • "property1": {
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "property2": {
      • "updated_at": "2019-08-24T14:15:22Z"
      }
    },
  • "data_keys": {
    • "property1": {
      • "result_status": "string",
      • "data_timestamp": 0,
      • "data_current": true,
      • "data_access_token": "string",
      • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670",
      • "execution_status": "string",
      • "running": true
      },
    • "property2": {
      • "result_status": "string",
      • "data_timestamp": 0,
      • "data_current": true,
      • "data_access_token": "string",
      • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670",
      • "execution_status": "string",
      • "running": true
      }
    },
  • "updated_at": "2019-08-24T14:15:22Z",
  • "status_check_delay": 60
}

Refresh Dashboard

Refresh all reports and filters on a dashboard for the given input parameters.

This operation starts new queries for all reports and SQL filters on a dashboard for the given input parameters, regardless of the current age of the data. Any already running queries for the same input parameters are cancelled before new queries are started.

This operation does not wait for the queries to finish. Poll the dashboard status with the same input parameters for progress.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Lock Dashboard

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Unlock Dashboard

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Export Dashboard PDF

Export a PDF of the dashboard for the given input parameters.

The PDF is rendered asynchronously in an export job. This operation returns the ID of the job. Poll the export job for progress until it returns a file_url from which the PDF can be downloaded.

Note: If a recent successful PDF export job exists for the same input parameters that shows current data according to the dashboard's data refresh rate, the corresponding job ID of this recent export job is returned and no new export job is started.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
job_id
string

The ID of the export job that is rendering the PDF.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}

Export Dashboard PNG

Export a PNG of the dashboard for the given input parameters.

The PNG is rendered asynchronously in an export job. This operation returns the ID of the job. Poll the export job for progress until it returns a file_url from which the PDF can be downloaded.

Note: If a recent successful PNG export job exists for the same input parameters that shows current data according to the dashboard's data refresh rate, the corresponding job ID of this recent export job is returned and no new export job is started.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
job_id
string

The ID of the export job that is rendering the PNG.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}

Share Dashboard

Share a dashboard with other users in the organization.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/json
required
share_mode
string
Enum: "none" "all_users" "all_analysts" "custom"
  • none makes the dashboard private. It can only be accessed by the user who created it and any user with the admin role.

  • all_users shares the dashboard with all current and future users in the organization.

  • all_analysts shares the dashboard with all current and future users with the analyst or admin role in the organization.

  • custom shares the dashboard with a custom set of user groups. Use the user_group_ids parameter to specify the user groups to share the dashboard with.

    Note: The built_in_behavior of a built-in user group can be used as a user group ID alias to share a user group with a combination of built-in and custom user groups. For example, to share a dashboard with all current and future analysts in addition to custom groups, include all_analysts in the user_group_ids.

user_group_ids
Array of strings

The user group IDs for share mode custom.

notify_new_users
boolean
Default: false

Whether users with whom the dashboard was not shared before should be notified by e-mail.

include_thumbnail
boolean
Default: false

Whether to include a dashboard thumbnail in e-mail notifications.

Only applicable when notify_new_users is set to true.

Responses

Request samples

Content type
application/json
{
  • "share_mode": "none",
  • "user_group_ids": [
    • "string"
    ],
  • "notify_new_users": false,
  • "include_thumbnail": false
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Duplicate Dashboard

The duplicated dashboard contains a copy of the original dashboard's reports.

Authorizations:
ApiKey

Responses

Response Schema: application/vnd.api+json
object (Dashboard)
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
type
string
Default: "disabled"
Enum: "disabled" "organization" "fixed" "input"
fixed_time_zone
string

Only for type fixed

allowed_time_zones
Array of strings

Only for type input

automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

Array
type
string
Value: "report"
id
string

The ID of the dashboard content element.

row
integer

The vertical position (Y-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1.

column
integer

The horizontal position (X-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

width
integer

The width of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

height
integer

The height of the content element on the dashboard's layout grid.

The minimum value is 1.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
apply_immediately
boolean

Whether each individual filter value selection in the Cluvio filter bar should be applied to reports and other filters on the dashboard immediately.

Note: Multi-select filters always require confirmation of the selection.

aggregation_options
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"
filter_sorting
Array of strings

List of filter variable names used on the dashboard determining their order of appearance (left-to-right, top-to-bottom).

Any dashboard filters not included in the list are sorted at the end.

hidden_parameters
Array of strings
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
Array of objects (ReportRef)
Array
id
string
type
string
Value: "reports"
object
Array of objects (FilterRef)
Array
id
string
type
string
Value: "filters"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object
Array of objects (DashboardGroupRef)
Array
id
string
type
string
Value: "dashboard_groups"
object
Array of objects (DashboardSharingLinkRef)

The sharing links of the dashboard.

Only present if the API key has Manage Dashboards permission.

Array
object
id
string
type
string
Value: "dashboard_sharing_links"
object
object (UserRef)

The owner of the dashboard.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

id
string
type
string
Value: "users"
object
Array of objects (UserGroupRef)

The user groups the dashboard is shared with.

Only present if the API key has View Users, Manage Users or Manage Dashboards permission.

Array
id
string
type
string
Value: "user_groups"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboards",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "time_zone_config": {
        • "type": "disabled",
        • "fixed_time_zone": "Europe/Berlin",
        • "allowed_time_zones": [
          • "Europe/Berlin"
          ]
        },
      • "automatic_update_enabled": true,
      • "thumbnail_enabled": true,
      • "thumbnail_image_url": "http://example.com",
      • "thumbnail_created_at": "2019-08-24T14:15:22Z",
      • "prewarm": false,
      • "published": true,
      • "data_refresh_rate": 1440,
      • "data_refresh_anchor_time": "15:42",
      • "is_locked": false,
      • "default_parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "default_page_width": 1600,
      • "layout": [
        • {
          • "type": "report",
          • "id": "string",
          • "row": 0,
          • "column": 0,
          • "width": 0,
          • "height": 0
          }
        ],
      • "floating_enabled": false,
      • "color_scheme": "scheme_1",
      • "filters_configuration": {
        • "apply_immediately": true,
        • "aggregation_options": [
          • "second"
          ],
        • "filter_sorting": [
          • "string"
          ],
        • "hidden_parameters": [
          • "string"
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "reports": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "reports"
            }
          ]
        },
      • "filters": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "filters"
            }
          ]
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "dashboard_groups": {
        • "data": [
          • {
            • "id": "zxdr-j9y7-4g5p",
            • "type": "dashboard_groups"
            }
          ]
        },
      • "dashboard_sharing_links": {
        • "data": [
          • {
            • "data": {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboard_sharing_links"
              }
            }
          ]
        },
      • "user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        },
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        }
      }
    }
}

Update Dashboard Layout

Updates the position and size of all reports on the dashboard.

The request payload must contain a layout element for each report on the dashboard.

Authorizations:
ApiKey
Request Body schema: application/json
required
Array of objects (DashboardLayout)
Array
type
string
Value: "report"
id
string

The ID of the dashboard content element.

row
integer

The vertical position (Y-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1.

column
integer

The horizontal position (X-coordinate) of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

width
integer

The width of the content element on the dashboard's layout grid.

The minimum value is 1 and the maximum value is 12.

height
integer

The height of the content element on the dashboard's layout grid.

The minimum value is 1.

floating_enabled
boolean

Whether vertical gaps are allowed between elements in the layout.

If not specified, defaults to the current dashboard setting.

Responses

Request samples

Content type
application/json
{
  • "layout": [
    • {
      • "type": "report",
      • "id": "string",
      • "row": 0,
      • "column": 0,
      • "width": 0,
      • "height": 0
      }
    ],
  • "floating_enabled": true
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Create Dashboard Backup

Creates a backup of a dashboard as a JSON file that can later be used to create a dashboard from a backup via the Cluvio App UI.

Note (1): The returned JSON is considered an internal representation without public endorsement or documentation. The returned JSON structure may change and is not subject to the versioning of the public API. Backup JSON files can only be used with the Cluvio App UI to create dashboards from backups.

Note (2): The dashboard backup feature is currently only available on request. See also Backup Dashboard in the Cluvio User Documentation.

Authorizations:
ApiKey

Responses

Response Schema: application/json
object

The dashboard backup JSON.

Response samples

Content type
application/json
{ }

Dashboard Groups

Create Dashboard Group

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (DashboardGroupAttributes)
name
required
string
description
string
object (DashboardGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"

Responses

Response Schema: application/vnd.api+json
object (DashboardGroup)
id
string
type
string
Value: "dashboard_groups"
object (DashboardGroupAttributes)
name
string
description
string
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboard_groups",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        }
      }
    }
}

List Dashboard Groups

The returned dashboard groups are sorted by name (ascending), except for dashboard groups with an explicit ordering as defined by the sortDashboardGroups operation.

Note: API keys have no access to personal dashboard groups.

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (DashboardGroup)
Array
id
string
type
string
Value: "dashboard_groups"
object (DashboardGroupAttributes)
name
string
description
string
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "dashboard_groups",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "dashboards": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboards"
              }
            ]
          }
        }
      }
    ]
}

Get Dashboard Group

Note: API keys have no access to personal dashboard groups.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Value: "dashboards"

[Optional] The relationship objects to include in the included section of the response.

Responses

Response Schema: application/vnd.api+json
object (DashboardGroup)
id
string
type
string
Value: "dashboard_groups"
object (DashboardGroupAttributes)
name
string
description
string
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"
Array of objects (Dashboard)

The optionally included relationship objects.

Array
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
object
object
object
object
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboard_groups",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "dashboards",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "time_zone_config": {
          • "type": "disabled",
          • "fixed_time_zone": "Europe/Berlin",
          • "allowed_time_zones": [
            • "Europe/Berlin"
            ]
          },
        • "automatic_update_enabled": true,
        • "thumbnail_enabled": true,
        • "thumbnail_image_url": "http://example.com",
        • "thumbnail_created_at": "2019-08-24T14:15:22Z",
        • "prewarm": false,
        • "published": true,
        • "data_refresh_rate": 1440,
        • "data_refresh_anchor_time": "15:42",
        • "is_locked": false,
        • "default_parameters": {
          • "timerange": "1712233090~1712237090",
          • "aggregation": "second",
          • "tz": "Europe/Berlin",
          • "filters": [
            • {
              • "variable_name": "string",
              • "selected_values": [
                • 0
                ]
              }
            ]
          },
        • "default_page_width": 1600,
        • "layout": [
          • {
            • "type": "report",
            • "id": "string",
            • "row": 0,
            • "column": 0,
            • "width": 0,
            • "height": 0
            }
          ],
        • "floating_enabled": false,
        • "color_scheme": "scheme_1",
        • "filters_configuration": {
          • "apply_immediately": true,
          • "aggregation_options": [
            • "second"
            ],
          • "filter_sorting": [
            • "string"
            ],
          • "hidden_parameters": [
            • "string"
            ]
          },
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "reports": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "reports"
              }
            ]
          },
        • "filters": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "filters"
              }
            ]
          },
        • "sql_snippets": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "sql_snippets"
              }
            ]
          },
        • "dashboard_groups": {
          • "data": [
            • {
              • "id": "zxdr-j9y7-4g5p",
              • "type": "dashboard_groups"
              }
            ]
          },
        • "dashboard_sharing_links": {
          • "data": [
            • {
              • "data": {
                • "id": "8qxn-y9ex-65vd",
                • "type": "dashboard_sharing_links"
                }
              }
            ]
          },
        • "user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          },
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          }
        }
      }
    ]
}

Update Dashboard Group

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (DashboardGroupAttributes)
name
string
description
string
object (DashboardGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"

Responses

Response Schema: application/vnd.api+json
object (DashboardGroup)
id
string
type
string
Value: "dashboard_groups"
object (DashboardGroupAttributes)
name
string
description
string
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboard_groups",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        }
      }
    }
}

Delete Dashboard Group

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Sort Dashboard Groups

Defines an ordering on a subset of dashboard groups.

The ordering is specified by passing an array of dashboard group IDs in the request. The order of the IDs determines the order of the dashboard groups.

The ordering is reflected in the Cluvio App for all users as well as in the result of the listDashboardGroups operation.

If there is no specified ordering between any two groups, they are ordered by name (ascending).

Note: API keys have no access to personal dashboard groups.

Authorizations:
ApiKey
Request Body schema: application/json
required
dashboard_group_ids
Array of strings

The desired dashboard group sorting. Any dashboard group that is not explicitly sorted is subject to sorting by name (ascending).

Responses

Request samples

Content type
application/json
{
  • "dashboard_group_ids": [
    • "string"
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Dashboard Schedules

Create Dashboard Schedule

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (DashboardScheduleAttributes)
name
required
string
emails
required
string <email>

Comma-separated list of recipient e-mail addresses.

attach_as
required
string

Comma-separated list of the following attachment types:

  • excel
  • csv
  • png
  • dark_png
  • inline_png
  • dark_inline_png
  • pdf
  • dark_pdf
schedule
required
string

The schedule is a string with one of the following formats, where values enclosed in angle brackets (<,>) denote placeholders, square brackets ([,]) denote optionality and a star (*) denotes optional repetition:

  • disabled: The schedule will never run unless explicitly triggered.

  • daily;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per day. The <time-of-day> is either a time value in the 24-hour clock, e.g. 06:00, or a time value in the 12-hour clock with an am or pm suffix, e.g. 9:00am. To have the schedule trigger multple times per day, specify multiple time-of-day values separated by comma, as in daily;9:00am,9:00pm.

  • weekly;<day-of-week>[,<day-of-week>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per week. The <day-of-week> is a number from 0 (Monday) to 6 (Sunday). To have the schedule trigger multiples times per week, specify multple day-of-week values separated by comma, as in weekly;0,2,4;06:00.

  • monthly;<day-of-month>[,<day-of-month>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per month. The <day-of-month> is a number from 1 to 31. To have the schedule trigger multiples times per month, specify multple day-of-month values separated by comma, as in monthly;1,15;06:00.

cc_emails
string <email>

Comma-separated list of CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated list of BCC recipient e-mail addresses.

subject_text
string
body_text
string
send_via
string
page_width
integer
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

object (DashboardScheduleRelationships)

One of dashboard or report is required. If both are given, report takes precedence and dashboard is ignored (inferred).

object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (ReportRef)
id
string
type
string
Value: "reports"

Responses

Response Schema: application/vnd.api+json
object (DashboardSchedule)
id
string
type
string
Value: "dashboard_schedules"
object (DashboardScheduleAttributes)
name
string
emails
string <email>

Comma-separated list of recipient e-mail addresses.

attach_as
string

Comma-separated list of the following attachment types:

  • excel
  • csv
  • png
  • dark_png
  • inline_png
  • dark_inline_png
  • pdf
  • dark_pdf
schedule
string

The schedule is a string with one of the following formats, where values enclosed in angle brackets (<,>) denote placeholders, square brackets ([,]) denote optionality and a star (*) denotes optional repetition:

  • disabled: The schedule will never run unless explicitly triggered.

  • daily;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per day. The <time-of-day> is either a time value in the 24-hour clock, e.g. 06:00, or a time value in the 12-hour clock with an am or pm suffix, e.g. 9:00am. To have the schedule trigger multple times per day, specify multiple time-of-day values separated by comma, as in daily;9:00am,9:00pm.

  • weekly;<day-of-week>[,<day-of-week>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per week. The <day-of-week> is a number from 0 (Monday) to 6 (Sunday). To have the schedule trigger multiples times per week, specify multple day-of-week values separated by comma, as in weekly;0,2,4;06:00.

  • monthly;<day-of-month>[,<day-of-month>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per month. The <day-of-month> is a number from 1 to 31. To have the schedule trigger multiples times per month, specify multple day-of-month values separated by comma, as in monthly;1,15;06:00.

cc_emails
string <email>

Comma-separated list of CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated list of BCC recipient e-mail addresses.

subject_text
string
body_text
string
send_via
string
page_width
integer
last_sent_at
string <date-time>
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

created_at
string <date-time>
updated_at
string <date-time>
object (DashboardScheduleRelationships)

One of dashboard or report is required. If both are given, report takes precedence and dashboard is ignored (inferred).

object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (ReportRef)
id
string
type
string
Value: "reports"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "emails": "user1@company.com,user2@company.com",
      • "attach_as": "csv,pdf,excel",
      • "schedule": "daily;00:00",
      • "cc_emails": "user1@company.com,user2@company.com",
      • "bcc_emails": "user1@company.com,user2@company.com",
      • "subject_text": "string",
      • "body_text": "string",
      • "send_via": "string",
      • "page_width": 0,
      • "parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        }
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "report": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "reports"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboard_schedules",
    • "attributes": {
      • "name": "string",
      • "emails": "user1@company.com,user2@company.com",
      • "attach_as": "csv,pdf,excel",
      • "schedule": "daily;00:00",
      • "cc_emails": "user1@company.com,user2@company.com",
      • "bcc_emails": "user1@company.com,user2@company.com",
      • "subject_text": "string",
      • "body_text": "string",
      • "send_via": "string",
      • "page_width": 0,
      • "last_sent_at": "2019-08-24T14:15:22Z",
      • "parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "report": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "reports"
          }
        }
      }
    }
}

List Dashboard Schedules

Authorizations:
ApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (DashboardSchedule)
Array
id
string
type
string
Value: "dashboard_schedules"
object (DashboardScheduleAttributes)
name
string
emails
string <email>

Comma-separated list of recipient e-mail addresses.

attach_as
string

Comma-separated list of the following attachment types:

  • excel
  • csv
  • png
  • dark_png
  • inline_png
  • dark_inline_png
  • pdf
  • dark_pdf
schedule
string

The schedule is a string with one of the following formats, where values enclosed in angle brackets (<,>) denote placeholders, square brackets ([,]) denote optionality and a star (*) denotes optional repetition:

  • disabled: The schedule will never run unless explicitly triggered.

  • daily;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per day. The <time-of-day> is either a time value in the 24-hour clock, e.g. 06:00, or a time value in the 12-hour clock with an am or pm suffix, e.g. 9:00am. To have the schedule trigger multple times per day, specify multiple time-of-day values separated by comma, as in daily;9:00am,9:00pm.

  • weekly;<day-of-week>[,<day-of-week>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per week. The <day-of-week> is a number from 0 (Monday) to 6 (Sunday). To have the schedule trigger multiples times per week, specify multple day-of-week values separated by comma, as in weekly;0,2,4;06:00.

  • monthly;<day-of-month>[,<day-of-month>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per month. The <day-of-month> is a number from 1 to 31. To have the schedule trigger multiples times per month, specify multple day-of-month values separated by comma, as in monthly;1,15;06:00.

cc_emails
string <email>

Comma-separated list of CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated list of BCC recipient e-mail addresses.

subject_text
string
body_text
string
send_via
string
page_width
integer
last_sent_at
string <date-time>
object (InputParameters)
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardScheduleRelationships)

One of dashboard or report is required. If both are given, report takes precedence and dashboard is ignored (inferred).

object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "dashboard_schedules",
      • "attributes": {
        • "name": "string",
        • "emails": "user1@company.com,user2@company.com",
        • "attach_as": "csv,pdf,excel",
        • "schedule": "daily;00:00",
        • "cc_emails": "user1@company.com,user2@company.com",
        • "bcc_emails": "user1@company.com,user2@company.com",
        • "subject_text": "string",
        • "body_text": "string",
        • "send_via": "string",
        • "page_width": 0,
        • "last_sent_at": "2019-08-24T14:15:22Z",
        • "parameters": {
          • "timerange": "1712233090~1712237090",
          • "aggregation": "second",
          • "tz": "Europe/Berlin",
          • "filters": [
            • {
              • "variable_name": "string",
              • "selected_values": [
                • 0
                ]
              }
            ]
          },
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "dashboard": {
          • "data": {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          },
        • "report": {
          • "data": {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "reports"
            }
          }
        }
      }
    ]
}

Get Dashboard Schedule

Authorizations:
ApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "dashboard" "report"

[Optional] The relationship objects to include in the included section of the response.

Responses

Response Schema: application/vnd.api+json
object (DashboardSchedule)
id
string
type
string
Value: "dashboard_schedules"
object (DashboardScheduleAttributes)
name
string
emails
string <email>

Comma-separated list of recipient e-mail addresses.

attach_as
string

Comma-separated list of the following attachment types:

  • excel
  • csv
  • png
  • dark_png
  • inline_png
  • dark_inline_png
  • pdf
  • dark_pdf
schedule
string

The schedule is a string with one of the following formats, where values enclosed in angle brackets (<,>) denote placeholders, square brackets ([,]) denote optionality and a star (*) denotes optional repetition:

  • disabled: The schedule will never run unless explicitly triggered.

  • daily;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per day. The <time-of-day> is either a time value in the 24-hour clock, e.g. 06:00, or a time value in the 12-hour clock with an am or pm suffix, e.g. 9:00am. To have the schedule trigger multple times per day, specify multiple time-of-day values separated by comma, as in daily;9:00am,9:00pm.

  • weekly;<day-of-week>[,<day-of-week>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per week. The <day-of-week> is a number from 0 (Monday) to 6 (Sunday). To have the schedule trigger multiples times per week, specify multple day-of-week values separated by comma, as in weekly;0,2,4;06:00.

  • monthly;<day-of-month>[,<day-of-month>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per month. The <day-of-month> is a number from 1 to 31. To have the schedule trigger multiples times per month, specify multple day-of-month values separated by comma, as in monthly;1,15;06:00.

cc_emails
string <email>

Comma-separated list of CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated list of BCC recipient e-mail addresses.

subject_text
string
body_text
string
send_via
string
page_width
integer
last_sent_at
string <date-time>
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

created_at
string <date-time>
updated_at
string <date-time>
object (DashboardScheduleRelationships)

One of dashboard or report is required. If both are given, report takes precedence and dashboard is ignored (inferred).

object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (ReportRef)
id
string
type
string
Value: "reports"
Array of Dashboard (object) or Report (object)

The optionally included relationship objects.

Array
One of
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
object
object
object
object
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboard_schedules",
    • "attributes": {
      • "name": "string",
      • "emails": "user1@company.com,user2@company.com",
      • "attach_as": "csv,pdf,excel",
      • "schedule": "daily;00:00",
      • "cc_emails": "user1@company.com,user2@company.com",
      • "bcc_emails": "user1@company.com,user2@company.com",
      • "subject_text": "string",
      • "body_text": "string",
      • "send_via": "string",
      • "page_width": 0,
      • "last_sent_at": "2019-08-24T14:15:22Z",
      • "parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "report": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "reports"
          }
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "dashboards",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "time_zone_config": {
          • "type": "disabled",
          • "fixed_time_zone": "Europe/Berlin",
          • "allowed_time_zones": [
            • "Europe/Berlin"
            ]
          },
        • "automatic_update_enabled": true,
        • "thumbnail_enabled": true,
        • "thumbnail_image_url": "http://example.com",
        • "thumbnail_created_at": "2019-08-24T14:15:22Z",
        • "prewarm": false,
        • "published": true,
        • "data_refresh_rate": 1440,
        • "data_refresh_anchor_time": "15:42",
        • "is_locked": false,
        • "default_parameters": {
          • "timerange": "1712233090~1712237090",
          • "aggregation": "second",
          • "tz": "Europe/Berlin",
          • "filters": [
            • {
              • "variable_name": "string",
              • "selected_values": [
                • 0
                ]
              }
            ]
          },
        • "default_page_width": 1600,
        • "layout": [
          • {
            • "type": "report",
            • "id": "string",
            • "row": 0,
            • "column": 0,
            • "width": 0,
            • "height": 0
            }
          ],
        • "floating_enabled": false,
        • "color_scheme": "scheme_1",
        • "filters_configuration": {
          • "apply_immediately": true,
          • "aggregation_options": [
            • "second"
            ],
          • "filter_sorting": [
            • "string"
            ],
          • "hidden_parameters": [
            • "string"
            ]
          },
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "reports": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "reports"
              }
            ]
          },
        • "filters": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "filters"
              }
            ]
          },
        • "sql_snippets": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "sql_snippets"
              }
            ]
          },
        • "dashboard_groups": {
          • "data": [
            • {
              • "id": "zxdr-j9y7-4g5p",
              • "type": "dashboard_groups"
              }
            ]
          },
        • "dashboard_sharing_links": {
          • "data": [
            • {
              • "data": {
                • "id": "8qxn-y9ex-65vd",
                • "type": "dashboard_sharing_links"
                }
              }
            ]
          },
        • "user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          },
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          }
        }
      }
    ]
}

Update Dashboard Schedule

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (DashboardScheduleAttributes)
name
string
emails
string <email>

Comma-separated list of recipient e-mail addresses.

attach_as
string

Comma-separated list of the following attachment types:

  • excel
  • csv
  • png
  • dark_png
  • inline_png
  • dark_inline_png
  • pdf
  • dark_pdf
schedule
string

The schedule is a string with one of the following formats, where values enclosed in angle brackets (<,>) denote placeholders, square brackets ([,]) denote optionality and a star (*) denotes optional repetition:

  • disabled: The schedule will never run unless explicitly triggered.

  • daily;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per day. The <time-of-day> is either a time value in the 24-hour clock, e.g. 06:00, or a time value in the 12-hour clock with an am or pm suffix, e.g. 9:00am. To have the schedule trigger multple times per day, specify multiple time-of-day values separated by comma, as in daily;9:00am,9:00pm.

  • weekly;<day-of-week>[,<day-of-week>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per week. The <day-of-week> is a number from 0 (Monday) to 6 (Sunday). To have the schedule trigger multiples times per week, specify multple day-of-week values separated by comma, as in weekly;0,2,4;06:00.

  • monthly;<day-of-month>[,<day-of-month>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per month. The <day-of-month> is a number from 1 to 31. To have the schedule trigger multiples times per month, specify multple day-of-month values separated by comma, as in monthly;1,15;06:00.

cc_emails
string <email>

Comma-separated list of CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated list of BCC recipient e-mail addresses.

subject_text
string
body_text
string
send_via
string
page_width
integer
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

object (DashboardScheduleRelationships)

One of dashboard or report is required. If both are given, report takes precedence and dashboard is ignored (inferred).

object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (ReportRef)
id
string
type
string
Value: "reports"

Responses

Response Schema: application/vnd.api+json
object (DashboardSchedule)
id
string
type
string
Value: "dashboard_schedules"
object (DashboardScheduleAttributes)
name
string
emails
string <email>

Comma-separated list of recipient e-mail addresses.

attach_as
string

Comma-separated list of the following attachment types:

  • excel
  • csv
  • png
  • dark_png
  • inline_png
  • dark_inline_png
  • pdf
  • dark_pdf
schedule
string

The schedule is a string with one of the following formats, where values enclosed in angle brackets (<,>) denote placeholders, square brackets ([,]) denote optionality and a star (*) denotes optional repetition:

  • disabled: The schedule will never run unless explicitly triggered.

  • daily;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per day. The <time-of-day> is either a time value in the 24-hour clock, e.g. 06:00, or a time value in the 12-hour clock with an am or pm suffix, e.g. 9:00am. To have the schedule trigger multple times per day, specify multiple time-of-day values separated by comma, as in daily;9:00am,9:00pm.

  • weekly;<day-of-week>[,<day-of-week>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per week. The <day-of-week> is a number from 0 (Monday) to 6 (Sunday). To have the schedule trigger multiples times per week, specify multple day-of-week values separated by comma, as in weekly;0,2,4;06:00.

  • monthly;<day-of-month>[,<day-of-month>]*;<time-of-day>[,<time-of-day>]*: The schedule runs one or more times per month. The <day-of-month> is a number from 1 to 31. To have the schedule trigger multiples times per month, specify multple day-of-month values separated by comma, as in monthly;1,15;06:00.

cc_emails
string <email>

Comma-separated list of CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated list of BCC recipient e-mail addresses.

subject_text
string
body_text
string
send_via
string
page_width
integer
last_sent_at
string <date-time>
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

created_at
string <date-time>
updated_at
string <date-time>
object (DashboardScheduleRelationships)

One of dashboard or report is required. If both are given, report takes precedence and dashboard is ignored (inferred).

object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (ReportRef)
id
string
type
string
Value: "reports"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "emails": "user1@company.com,user2@company.com",
      • "attach_as": "csv,pdf,excel",
      • "schedule": "daily;00:00",
      • "cc_emails": "user1@company.com,user2@company.com",
      • "bcc_emails": "user1@company.com,user2@company.com",
      • "subject_text": "string",
      • "body_text": "string",
      • "send_via": "string",
      • "page_width": 0,
      • "parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        }
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "report": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "reports"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "dashboard_schedules",
    • "attributes": {
      • "name": "string",
      • "emails": "user1@company.com,user2@company.com",
      • "attach_as": "csv,pdf,excel",
      • "schedule": "daily;00:00",
      • "cc_emails": "user1@company.com,user2@company.com",
      • "bcc_emails": "user1@company.com,user2@company.com",
      • "subject_text": "string",
      • "body_text": "string",
      • "send_via": "string",
      • "page_width": 0,
      • "last_sent_at": "2019-08-24T14:15:22Z",
      • "parameters": {
        • "timerange": "1712233090~1712237090",
        • "aggregation": "second",
        • "tz": "Europe/Berlin",
        • "filters": [
          • {
            • "variable_name": "string",
            • "selected_values": [
              • 0
              ]
            }
          ]
        },
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "report": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "reports"
          }
        }
      }
    }
}

Delete Dashboard Schedule

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Trigger Dashboard Schedule

Explicitly trigger a dashboard schedule to run.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Reports

Create Report

To create a report, the API key must have access to the report's datasource.

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (CreateReportAttributes)
name
required
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

width
integer

The width of the new report on the dashboard's layout grid.

The dashboard will choose an initial position (row and column) for the report that accomodates for the chosen width.

Use the Update Dashboard Layout operation to subsequently change the position and size of the report.

height
integer

The height of the new report on the dashboard's layout grid.

The dashboard will choose an initial position (row and column) for the report that accomodates for the chosen height.

Use the Update Dashboard Layout operation to subsequently change the position and size of the report.

object (ReportRelationships)
required
object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
required
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Responses

Response Schema: application/vnd.api+json
object (Report)
id
string
type
string
Value: "reports"
object (ReportAttributes)
name
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

chart_configuration
object
Default: {}

Note: A report's chart configuration should be treated as an opaque object until the structure of chart configurations is released on the public API.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

query_error
string
created_at
string <date-time>
updated_at
string <date-time>
row
integer

The vertical position (Y-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

column
integer

The horizontal position (X-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

width
integer

The width of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

height
integer

The height of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

object (ReportRelationships)
object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "r_query": "string",
      • "r_query_enabled": false,
      • "data_refresh_rate": 0,
      • "data_refresh_anchor_time": "14:15:22Z",
      • "download_actions_enabled": true,
      • "data_download_enabled": true,
      • "maximize_action_enabled": true,
      • "refresh_enabled": true,
      • "unused_filters_warning_enabled": false,
      • "unlimited_csv_export_enabled": false,
      • "default_page_width": 800,
      • "default_page_height": 600,
      • "display_name_as_title": true,
      • "attribution": "string",
      • "no_data_message": "string",
      • "width": 0,
      • "height": 0
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "reports",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "r_query": "string",
      • "r_query_enabled": false,
      • "data_refresh_rate": 0,
      • "data_refresh_anchor_time": "14:15:22Z",
      • "chart_configuration": { },
      • "download_actions_enabled": true,
      • "data_download_enabled": true,
      • "maximize_action_enabled": true,
      • "refresh_enabled": true,
      • "unused_filters_warning_enabled": false,
      • "unlimited_csv_export_enabled": false,
      • "default_page_width": 800,
      • "default_page_height": 600,
      • "display_name_as_title": true,
      • "attribution": "string",
      • "no_data_message": "string",
      • "query_error": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "row": 0,
      • "column": 0,
      • "width": 0,
      • "height": 0
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

List Reports

List reports from all dashboards accessible by the API key.

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (Report)
Array
id
string
type
string
Value: "reports"
object (ReportAttributes)
name
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

chart_configuration
object
Default: {}

Note: A report's chart configuration should be treated as an opaque object until the structure of chart configurations is released on the public API.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

query_error
string
created_at
string <date-time>
updated_at
string <date-time>
row
integer

The vertical position (Y-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

column
integer

The horizontal position (X-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

width
integer

The width of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

height
integer

The height of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

object (ReportRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "reports",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "sql_query": "string",
        • "r_query": "string",
        • "r_query_enabled": false,
        • "data_refresh_rate": 0,
        • "data_refresh_anchor_time": "14:15:22Z",
        • "chart_configuration": { },
        • "download_actions_enabled": true,
        • "data_download_enabled": true,
        • "maximize_action_enabled": true,
        • "refresh_enabled": true,
        • "unused_filters_warning_enabled": false,
        • "unlimited_csv_export_enabled": false,
        • "default_page_width": 800,
        • "default_page_height": 600,
        • "display_name_as_title": true,
        • "attribution": "string",
        • "no_data_message": "string",
        • "query_error": "string",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "row": 0,
        • "column": 0,
        • "width": 0,
        • "height": 0
        },
      • "relationships": {
        • "dashboard": {
          • "data": {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          },
        • "datasource": {
          • "data": {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          }
        }
      }
    ]
}

Get Report

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "dashboard" "datasource"

[Optional] The relationship objects to include in the included section of the response.

Including datasource requires View Datasources, Manage Datasources or Manage Dashboards permission.

Responses

Response Schema: application/vnd.api+json
object (Report)
id
string
type
string
Value: "reports"
object (ReportAttributes)
name
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

chart_configuration
object
Default: {}

Note: A report's chart configuration should be treated as an opaque object until the structure of chart configurations is released on the public API.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

query_error
string
created_at
string <date-time>
updated_at
string <date-time>
row
integer

The vertical position (Y-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

column
integer

The horizontal position (X-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

width
integer

The width of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

height
integer

The height of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

object (ReportRelationships)
object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
Array of Dashboard (object) or Datasource (object)

The optionally included relationship objects.

Array
One of
id
string
type
string
Value: "dashboards"
object (DashboardAttributes)
name
string
description
string
object (TimeZoneConfig)
Default: {"type":"disabled"}
automatic_update_enabled
boolean
Default: true

Whether automatic dashboard updates are enabled.

Automatic dashboard updates are enabled by default and result in the Cluvio App periodically checking the status of the dashboard when it is viewed in a web browser.

thumbnail_enabled
boolean
Default: true

Whether automatic thumbnail generation is enabled.

Thumbnail generation is enabled by default. Note that thumbnails are only updated at most once a day and only for dashboards that have been accessed in the last 24 hours.

thumbnail_image_url
string <uri>
thumbnail_created_at
string <date-time>
prewarm
boolean
Default: false
published
boolean

Whether the dashboard is shared with any user groups.

data_refresh_rate
number
Default: 1440

The data refresh rate of the dashboard, in minutes.

The data refresh rate specifies the maximum age of cached query results for reports and filters. The dashboard's refresh rate applies to all reports and SQL filters on the dashboard, unless a report or filter has a lower refresh rate configured.

The default is 24 hours.

data_refresh_anchor_time
string <time>

The data refresh anchor time defines a maximum age of cached query results for reports and filters such that results are considered out-of-date when they predate the anchor time on the current day (in the organization's time zone).

For example, an anchor time can be used to ensure that a dashboard never shows data from yesterday by setting the anchor time to midnight 00:00, or that the dashboard always shows the latest data after a nightly database synchronization, e.g. by setting the anchor time to a time-of-day after the nightly synchronization.

is_locked
boolean
Default: false
object (InputParameters)

Default input parameters for the dashboard's filters.

Note: Can only be set on existing dashboards.

default_page_width
integer
Default: 1600

The default width in pixels of rendered PDFs and PNGs for this dashboard.

Array of objects (DashboardLayout)

The layout of the dashboard content elements.

To update the layout, use the Update Dashboard Layout operation.

floating_enabled
boolean
Default: false

Whether "floating" content is allow on the dashboard. Floating content is any dashboard content whose top border is not anchored to another dashboard content element or the Cluvio toolbar.

To update this setting, use the Update Dashboard Layout operation.

color_scheme
string
Default: "scheme_6"
Enum: "scheme_1" "scheme_2" "scheme_3" "scheme_4" "scheme_5" "scheme_6" "scheme_7" "scheme_8"

The dashboard's color scheme. The following built-in color schemes exist:

  • scheme_1: Blue Ocean
  • scheme_2: Bluegrass
  • scheme_3: Green Meadow
  • scheme_4: Violet Sky
  • scheme_5: Vibrant Sunset
  • scheme_6: Colorful
  • scheme_7: Colorful Variant 2
  • scheme_8: Colorful Variant 3
object (DashboardFiltersConfig)
Default: {}
created_at
string <date-time>
updated_at
string <date-time>
object (DashboardRelationships)
object
object
object
object
object
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "reports",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "r_query": "string",
      • "r_query_enabled": false,
      • "data_refresh_rate": 0,
      • "data_refresh_anchor_time": "14:15:22Z",
      • "chart_configuration": { },
      • "download_actions_enabled": true,
      • "data_download_enabled": true,
      • "maximize_action_enabled": true,
      • "refresh_enabled": true,
      • "unused_filters_warning_enabled": false,
      • "unlimited_csv_export_enabled": false,
      • "default_page_width": 800,
      • "default_page_height": 600,
      • "display_name_as_title": true,
      • "attribution": "string",
      • "no_data_message": "string",
      • "query_error": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "row": 0,
      • "column": 0,
      • "width": 0,
      • "height": 0
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "dashboards",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "time_zone_config": {
          • "type": "disabled",
          • "fixed_time_zone": "Europe/Berlin",
          • "allowed_time_zones": [
            • "Europe/Berlin"
            ]
          },
        • "automatic_update_enabled": true,
        • "thumbnail_enabled": true,
        • "thumbnail_image_url": "http://example.com",
        • "thumbnail_created_at": "2019-08-24T14:15:22Z",
        • "prewarm": false,
        • "published": true,
        • "data_refresh_rate": 1440,
        • "data_refresh_anchor_time": "15:42",
        • "is_locked": false,
        • "default_parameters": {
          • "timerange": "1712233090~1712237090",
          • "aggregation": "second",
          • "tz": "Europe/Berlin",
          • "filters": [
            • {
              • "variable_name": "string",
              • "selected_values": [
                • 0
                ]
              }
            ]
          },
        • "default_page_width": 1600,
        • "layout": [
          • {
            • "type": "report",
            • "id": "string",
            • "row": 0,
            • "column": 0,
            • "width": 0,
            • "height": 0
            }
          ],
        • "floating_enabled": false,
        • "color_scheme": "scheme_1",
        • "filters_configuration": {
          • "apply_immediately": true,
          • "aggregation_options": [
            • "second"
            ],
          • "filter_sorting": [
            • "string"
            ],
          • "hidden_parameters": [
            • "string"
            ]
          },
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "reports": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "reports"
              }
            ]
          },
        • "filters": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "filters"
              }
            ]
          },
        • "sql_snippets": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "sql_snippets"
              }
            ]
          },
        • "dashboard_groups": {
          • "data": [
            • {
              • "id": "zxdr-j9y7-4g5p",
              • "type": "dashboard_groups"
              }
            ]
          },
        • "dashboard_sharing_links": {
          • "data": [
            • {
              • "data": {
                • "id": "8qxn-y9ex-65vd",
                • "type": "dashboard_sharing_links"
                }
              }
            ]
          },
        • "user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          },
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          }
        }
      }
    ]
}

Update Report

To update a report, the API key must have access to the report's datasource.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (ReportAttributes)
name
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

object (ReportRelationships)
object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Responses

Response Schema: application/vnd.api+json
object (Report)
id
string
type
string
Value: "reports"
object (ReportAttributes)
name
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

chart_configuration
object
Default: {}

Note: A report's chart configuration should be treated as an opaque object until the structure of chart configurations is released on the public API.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

query_error
string
created_at
string <date-time>
updated_at
string <date-time>
row
integer

The vertical position (Y-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

column
integer

The horizontal position (X-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

width
integer

The width of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

height
integer

The height of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

object (ReportRelationships)
object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "r_query": "string",
      • "r_query_enabled": false,
      • "data_refresh_rate": 0,
      • "data_refresh_anchor_time": "14:15:22Z",
      • "download_actions_enabled": true,
      • "data_download_enabled": true,
      • "maximize_action_enabled": true,
      • "refresh_enabled": true,
      • "unused_filters_warning_enabled": false,
      • "unlimited_csv_export_enabled": false,
      • "default_page_width": 800,
      • "default_page_height": 600,
      • "display_name_as_title": true,
      • "attribution": "string",
      • "no_data_message": "string"
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "reports",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "r_query": "string",
      • "r_query_enabled": false,
      • "data_refresh_rate": 0,
      • "data_refresh_anchor_time": "14:15:22Z",
      • "chart_configuration": { },
      • "download_actions_enabled": true,
      • "data_download_enabled": true,
      • "maximize_action_enabled": true,
      • "refresh_enabled": true,
      • "unused_filters_warning_enabled": false,
      • "unlimited_csv_export_enabled": false,
      • "default_page_width": 800,
      • "default_page_height": 600,
      • "display_name_as_title": true,
      • "attribution": "string",
      • "no_data_message": "string",
      • "query_error": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "row": 0,
      • "column": 0,
      • "width": 0,
      • "height": 0
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Delete Report

To delete a report, the API key must have access to the report's datasource.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Refresh Report

Refresh the report for the given input parameters.

This operation starts a new report query execution for the given input parameters. If a query execution is already running for this report and the same input parameters it is cancelled before the new query execution is started.

This operation does not wait for the query to finish. Use the returned execution_id to poll the execution or poll the report's dashboard status with the same input parameters for progress.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
execution_id
integer <uuid>

The ID of the report query execution.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "execution_id": 0
}

Duplicate Report

The duplicated report is created on the same dashboard.

Authorizations:
ApiKey

Responses

Response Schema: application/vnd.api+json
object (Report)
id
string
type
string
Value: "reports"
object (ReportAttributes)
name
string
description
string
sql_query
string
r_query
string
r_query_enabled
boolean
Default: false
data_refresh_rate
integer

An optional custom data refresh rate for the report.

By default, a report uses the data refresh rate of the associated dashboard.

data_refresh_anchor_time
string <time>

An optional custom data refresh anchor time for the report.

By default, a report uses the data refresh anchor time of the associated dashboard.

chart_configuration
object
Default: {}

Note: A report's chart configuration should be treated as an opaque object until the structure of chart configurations is released on the public API.

download_actions_enabled
boolean
Default: true

Whether all download actions (CSV, Excel, PDF, PNG) are enabled for users and sharing links on this report.

By default, download actions are enabled, unless disallowed by plan limits or sharing link configuration.

data_download_enabled
boolean
Default: true

Whether report data downloads in CSV or Excel are enabled for users and sharing links on this report.

By default, data download are enabled, unless disallowed by plan limits or sharing link configuration.

maximize_action_enabled
boolean
Default: true
refresh_enabled
boolean
Default: true
unused_filters_warning_enabled
any
Default: false

Whether to show a warning icon on the report when some dashboard filters do not apply to this report.

unlimited_csv_export_enabled
boolean
Default: false
default_page_width
integer
Default: 800

The default page width when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

default_page_height
integer
Default: 600

The default page height when exporting the report as a PDF or PNG.

Note that the chart configuration may overrule this default.

display_name_as_title
boolean
Default: true

Whether to display the report name as the report title on a dashboard.

attribution
string

An optional attribution / copyright message that is visually indicated on the report.

no_data_message
string

An optional custom message that is shown on the report if it has no data.

query_error
string
created_at
string <date-time>
updated_at
string <date-time>
row
integer

The vertical position (Y-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

column
integer

The horizontal position (X-coordinate) of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

width
integer

The width of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

height
integer

The height of the report on the dashboard's layout grid.

Use the Update Dashboard Layout operation to change the position and size of one or more reports.

object (ReportRelationships)
object
object (DashboardRef)
id
string
type
string
Value: "dashboards"
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "reports",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "r_query": "string",
      • "r_query_enabled": false,
      • "data_refresh_rate": 0,
      • "data_refresh_anchor_time": "14:15:22Z",
      • "chart_configuration": { },
      • "download_actions_enabled": true,
      • "data_download_enabled": true,
      • "maximize_action_enabled": true,
      • "refresh_enabled": true,
      • "unused_filters_warning_enabled": false,
      • "unlimited_csv_export_enabled": false,
      • "default_page_width": 800,
      • "default_page_height": 600,
      • "display_name_as_title": true,
      • "attribution": "string",
      • "no_data_message": "string",
      • "query_error": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z",
      • "row": 0,
      • "column": 0,
      • "width": 0,
      • "height": 0
      },
    • "relationships": {
      • "dashboard": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "dashboards"
          }
        },
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Get Report Data

Get the report's raw data for the given input parameters.

If the report has cached data for the given input parameters, this operation returns a data_key and data_access_token for fetching the data from a Cluvio data server.

If Cluvio has no cached report data for the given input parameters, the response is a 204. This operation does not trigger queries.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null
data_format
string
Default: "json"
Enum: "json" "csv"
csv_column_separator
string
Enum: "," ";" "\t"

The CSV column separator to use for data format csv.

Defaults to the column separator in the organization's settings, which itself defaults to ,.

csv_decimal_separator
string
Enum: "." "," "/"

The decimal separator to use for data format csv.

Defaults to the decimal separator in the organization's settings, which itself defaults to ..

csv_quote_style
string
Enum: "necessary" "always"

The quote style to use for data format csv.

Defaults to the quote style in the organization's settings, which itself defaults to necessary.

Responses

Response Schema: application/json
data_key
string
data_access_token
string

Use as authorization, together with data_key to fetch the result data using the Get Result Data operation on a Cluvio Data Server.

The response will be JSON (content-type application/json) or CSV (content-type text/csv) depending on the requested data format.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    },
  • "data_format": "json",
  • "csv_column_separator": ",",
  • "csv_decimal_separator": ".",
  • "csv_quote_style": "necessary"
}

Response samples

Content type
application/json
{
  • "data_key": "string",
  • "data_access_token": "string"
}

Export Report PDF

Export a PDF of the report for the given input parameters.

The PDF is rendered asynchronously in an export job. This operation returns the ID of the job. Poll the export job for progress until it returns a file_url from which the PDF can be downloaded.

Note: If a recent successful PNG export job exists for the same input parameters that shows current data according to the report's data refresh rate, the corresponding job ID of this recent export job is returned and no new export job is started.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
job_id
string

The ID of the export job that is rendering the PDF.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}

Export Report PNG

Export a PNG of the report for the given input parameters.

The PNG is rendered asynchronously in an export job. This operation returns the ID of the job. Poll the export job for progress until it returns a file_url from which the PNG can be downloaded.

Note: If a recent successful PNG export job exists for the same input parameters that shows current data according to the report's data refresh rate, the corresponding job ID of this recent export job is returned and no new export job is started.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
job_id
string

The ID of the export job that is rendering the PNG.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}

Export Report CSV

Export a CSV of the complete report data for the given input parameters.

This is an "unlimited" CSV export that is only bounded by size constraints specific to your subscription plan. Additionally, unlimited_csv_export_enabled must be set to true on the report in order for this operation to be enabled.

The CSV is created asynchronously in an export job. This operation returns the ID of the job. Poll the export job for progress until it returns a file_url from which the CSV can be downloaded.

Note: A new CSV export job for the same input parameters can only be started at most once every 10 minutes. If a successful CSV export for the same input parameters exists that is not older than 10 minutes, the corresponding job ID of this recent export job is returned and no new export job and query execution is started.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json
required
object (InputParameters)
timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
job_id
string

The ID of the export job that is creating the CSV.

Request samples

Content type
application/json
{
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}

Filters

Create Filter

To create SQL drop-down filters, the API key must have access to the filter's datasource.

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (FilterAttributes)
display_name
string

The name shown on a dashboard.

variable_name
required
string

The name used in Cluvio filter expressions in SQL queries.

The variable name can only contain letters, digits, underscores (_) and hyphens (-).

control_type
required
string
Enum: "input" "input_multi" "checkbox" "checkbox_two_way" "date_time" "date_time_range" "date" "date_range" "time" "time_range" "date_time_aggregation" "dropdown" "dropdown_multi" "dropdown_dynamic" "dropdown_multi_dynamic" "dropdown_manual" "dropdown_multi_manual"

The control type determines the UI control that the filter presents on a dashboard for selecting input values. Some control types are fixed to a single value type. For example, the control type date_time_range must always be used with a DATE_TIME value type.

value_type
required
string
Enum: "TEXT" "NUMBER" "BOOLEAN" "DATE" "TIME" "DATE_TIME"

The value type determines how input values for the filter are validated and represented in SQL.

values
Array of strings

Only for control type dropdown_manual and dropdown_multi_manual.

The option values of the manual drop-down filter.

Note: Values for manual drop-down filters must not contain the Unicode NUL character.

value_names
Array of strings

Only for control type dropdown_manual and dropdown_multi_manual.

The option value names of the manual drop-down filter. Each item in the list is the option name / label corresponding to the option value in values at the same position.

If a value in values has no corresponding entry in value_names, the value is also used as the name / label.

Note: Value names for manual drop-down filters must not contain the Unicode NUL character.

sql_query
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The SQL query must produce the dropdown options for the filter (1st column as value, 2nd optional column as label).

Note: SQL queries for static SQL filters (dropdown and dropdown_multi) must not produce Unicode NUL characters in query results.

data_refresh_rate
integer

Only for dropdown, dropdown_dynamic and their *_multi variants.

For dropdown and dropdown_multi the data refresh rate is a number of minutes specifying the fixed rate at which the SQL query is re-run to refresh the filter options.

For dropdown_dynamic and dropdown_multi_dynamic, the data refresh rate is a number of minutes specifying the maximum age of the dropdown options. Cluvio automatically refreshes the options by re-running the SQL query as necessary and only when the filter is actually used.

default_values
Array of strings or numbers or booleans or null

Each default value must be valid according to the filter's value_type.

required
boolean
Default: false

Whether a value must be selected for this filter.

dropdown_validate
boolean
Default: false

Only for control type dropdown, dropdown_multi, dropdown_manual, dropdown_multi_manual, dropdown_dynamic and dropdown_multi_dynamic.

Whether input values for a drop-down filter should be validated against the available values.

Enabling drop-down validation guarantees that an input value is only accepted if it is included in the values known to the filter. Note that the allowed values for drop-down filters based on SQL can change whenever the filter's SQL query is run and validation is only performed against the most recently produced values.

relative_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether relative ranges are allowed as input.

before_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without a lower bound are allowed as input.

after_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without an upper bound are allowed as input.

from_to_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether absolute ranges are allowed as input.

allowed_aggregations
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

Only for control type date_time_aggregation.

The allowed aggregation options.

object (FilterRelationships)
object

The datasource used by the filter.

Only SQL filters use a datasource (control type dropdown, dropdown_dynamic and their *_multi variants).

object (DatasourceRef)
id
string
type
string
Value: "datasources"
object

The transitive closure of SQL snippets used by the filter.

Only SQL filters can have SQL snippets.

Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object

Only for static SQL filters (control type dropdown or dropdown_multi).

Note: Use of dropdown_dynamic and dropdown_multi_dynamic should be preferred to express filter dependencies in the filter SQL query.

object (FilterRef)
id
string
type
string
Value: "filters"

Responses

Response Schema: application/vnd.api+json
object (Filter)
id
string
type
string
Value: "filters"
object (FilterAttributes)
display_name
string

The name shown on a dashboard.

variable_name
string

The name used in Cluvio filter expressions in SQL queries.

The variable name can only contain letters, digits, underscores (_) and hyphens (-).

control_type
string
Enum: "input" "input_multi" "checkbox" "checkbox_two_way" "date_time" "date_time_range" "date" "date_range" "time" "time_range" "date_time_aggregation" "dropdown" "dropdown_multi" "dropdown_dynamic" "dropdown_multi_dynamic" "dropdown_manual" "dropdown_multi_manual"

The control type determines the UI control that the filter presents on a dashboard for selecting input values. Some control types are fixed to a single value type. For example, the control type date_time_range must always be used with a DATE_TIME value type.

value_type
string
Enum: "TEXT" "NUMBER" "BOOLEAN" "DATE" "TIME" "DATE_TIME"

The value type determines how input values for the filter are validated and represented in SQL.

sql_query
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The SQL query must produce the dropdown options for the filter (1st column as value, 2nd optional column as label).

Note: SQL queries for static SQL filters (dropdown and dropdown_multi) must not produce Unicode NUL characters in query results.

data_refresh_rate
integer

Only for dropdown, dropdown_dynamic and their *_multi variants.

For dropdown and dropdown_multi the data refresh rate is a number of minutes specifying the fixed rate at which the SQL query is re-run to refresh the filter options.

For dropdown_dynamic and dropdown_multi_dynamic, the data refresh rate is a number of minutes specifying the maximum age of the dropdown options. Cluvio automatically refreshes the options by re-running the SQL query as necessary and only when the filter is actually used.

default_values
Array of strings or numbers or booleans or null

Each default value must be valid according to the filter's value_type.

required
boolean
Default: false

Whether a value must be selected for this filter.

dropdown_validate
boolean
Default: false

Only for control type dropdown, dropdown_multi, dropdown_manual, dropdown_multi_manual, dropdown_dynamic and dropdown_multi_dynamic.

Whether input values for a drop-down filter should be validated against the available values.

Enabling drop-down validation guarantees that an input value is only accepted if it is included in the values known to the filter. Note that the allowed values for drop-down filters based on SQL can change whenever the filter's SQL query is run and validation is only performed against the most recently produced values.

relative_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether relative ranges are allowed as input.

before_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without a lower bound are allowed as input.

after_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without an upper bound are allowed as input.

from_to_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether absolute ranges are allowed as input.

allowed_aggregations
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

Only for control type date_time_aggregation.

The allowed aggregation options.

last_query_success
string <date-time>

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The timestamp of the last successful execution of the filter's SQL query.

last_query_error_message
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The last query error of the filter's SQL query, if any.

created_at
string <date-time>

The timestamp when the filter was created.

updated_at
string <date-time>

The timestamp when the filter was last updated.

object (FilterRelationships)
object

The datasource used by the filter.

Only SQL filters use a datasource (control type dropdown, dropdown_dynamic and their *_multi variants).

object (DatasourceRef)
id
string
type
string
Value: "datasources"
object

The transitive closure of SQL snippets used by the filter.

Only SQL filters can have SQL snippets.

Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object

Only for static SQL filters (control type dropdown or dropdown_multi).

Note: Use of dropdown_dynamic and dropdown_multi_dynamic should be preferred to express filter dependencies in the filter SQL query.

object (FilterRef)
id
string
type
string
Value: "filters"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "display_name": "string",
      • "variable_name": "string",
      • "control_type": "input",
      • "value_type": "TEXT",
      • "values": [
        • "string"
        ],
      • "value_names": [
        • "string"
        ],
      • "sql_query": "string",
      • "data_refresh_rate": 0,
      • "default_values": [
        • "string"
        ],
      • "required": false,
      • "dropdown_validate": false,
      • "relative_range_enabled": true,
      • "before_range_enabled": true,
      • "after_range_enabled": true,
      • "from_to_range_enabled": true,
      • "allowed_aggregations": [
        • "second"
        ]
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "parent_filter": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "filters"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "filters",
    • "attributes": {
      • "display_name": "string",
      • "variable_name": "string",
      • "control_type": "input",
      • "value_type": "TEXT",
      • "sql_query": "string",
      • "data_refresh_rate": 0,
      • "default_values": [
        • "string"
        ],
      • "required": false,
      • "dropdown_validate": false,
      • "relative_range_enabled": true,
      • "before_range_enabled": true,
      • "after_range_enabled": true,
      • "from_to_range_enabled": true,
      • "allowed_aggregations": [
        • "second"
        ],
      • "last_query_success": "2019-08-24T14:15:22Z",
      • "last_query_error_message": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "parent_filter": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "filters"
          }
        }
      }
    }
}

List Filters

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (Filter)
Array
id
string
type
string
Value: "filters"
object (FilterAttributes)
display_name
string

The name shown on a dashboard.

variable_name
string

The name used in Cluvio filter expressions in SQL queries.

The variable name can only contain letters, digits, underscores (_) and hyphens (-).

control_type
string
Enum: "input" "input_multi" "checkbox" "checkbox_two_way" "date_time" "date_time_range" "date" "date_range" "time" "time_range" "date_time_aggregation" "dropdown" "dropdown_multi" "dropdown_dynamic" "dropdown_multi_dynamic" "dropdown_manual" "dropdown_multi_manual"

The control type determines the UI control that the filter presents on a dashboard for selecting input values. Some control types are fixed to a single value type. For example, the control type date_time_range must always be used with a DATE_TIME value type.

value_type
string
Enum: "TEXT" "NUMBER" "BOOLEAN" "DATE" "TIME" "DATE_TIME"

The value type determines how input values for the filter are validated and represented in SQL.

sql_query
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The SQL query must produce the dropdown options for the filter (1st column as value, 2nd optional column as label).

Note: SQL queries for static SQL filters (dropdown and dropdown_multi) must not produce Unicode NUL characters in query results.

data_refresh_rate
integer

Only for dropdown, dropdown_dynamic and their *_multi variants.

For dropdown and dropdown_multi the data refresh rate is a number of minutes specifying the fixed rate at which the SQL query is re-run to refresh the filter options.

For dropdown_dynamic and dropdown_multi_dynamic, the data refresh rate is a number of minutes specifying the maximum age of the dropdown options. Cluvio automatically refreshes the options by re-running the SQL query as necessary and only when the filter is actually used.

default_values
Array of strings or numbers or booleans or null

Each default value must be valid according to the filter's value_type.

required
boolean
Default: false

Whether a value must be selected for this filter.

dropdown_validate
boolean
Default: false

Only for control type dropdown, dropdown_multi, dropdown_manual, dropdown_multi_manual, dropdown_dynamic and dropdown_multi_dynamic.

Whether input values for a drop-down filter should be validated against the available values.

Enabling drop-down validation guarantees that an input value is only accepted if it is included in the values known to the filter. Note that the allowed values for drop-down filters based on SQL can change whenever the filter's SQL query is run and validation is only performed against the most recently produced values.

relative_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether relative ranges are allowed as input.

before_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without a lower bound are allowed as input.

after_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without an upper bound are allowed as input.

from_to_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether absolute ranges are allowed as input.

allowed_aggregations
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

Only for control type date_time_aggregation.

The allowed aggregation options.

last_query_success
string <date-time>

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The timestamp of the last successful execution of the filter's SQL query.

last_query_error_message
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The last query error of the filter's SQL query, if any.

created_at
string <date-time>

The timestamp when the filter was created.

updated_at
string <date-time>

The timestamp when the filter was last updated.

object (FilterRelationships)
object

The datasource used by the filter.

Only SQL filters use a datasource (control type dropdown, dropdown_dynamic and their *_multi variants).

object

The transitive closure of SQL snippets used by the filter.

Only SQL filters can have SQL snippets.

object

Only for static SQL filters (control type dropdown or dropdown_multi).

Note: Use of dropdown_dynamic and dropdown_multi_dynamic should be preferred to express filter dependencies in the filter SQL query.

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "filters",
      • "attributes": {
        • "display_name": "string",
        • "variable_name": "string",
        • "control_type": "input",
        • "value_type": "TEXT",
        • "sql_query": "string",
        • "data_refresh_rate": 0,
        • "default_values": [
          • "string"
          ],
        • "required": false,
        • "dropdown_validate": false,
        • "relative_range_enabled": true,
        • "before_range_enabled": true,
        • "after_range_enabled": true,
        • "from_to_range_enabled": true,
        • "allowed_aggregations": [
          • "second"
          ],
        • "last_query_success": "2019-08-24T14:15:22Z",
        • "last_query_error_message": "string",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "datasource": {
          • "data": {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          },
        • "sql_snippets": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "sql_snippets"
              }
            ]
          },
        • "parent_filter": {
          • "data": {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "filters"
            }
          }
        }
      }
    ]
}

Get Filter

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "datasource" "sql_snippets" "parent_filter"

[Optional] The relationship objects to include in the included section of the response.

Including datasource requires View Datasources, Manage Datasources or Manage Dashboards permission.

Responses

Response Schema: application/vnd.api+json
object (Filter)
id
string
type
string
Value: "filters"
object (FilterAttributes)
display_name
string

The name shown on a dashboard.

variable_name
string

The name used in Cluvio filter expressions in SQL queries.

The variable name can only contain letters, digits, underscores (_) and hyphens (-).

control_type
string
Enum: "input" "input_multi" "checkbox" "checkbox_two_way" "date_time" "date_time_range" "date" "date_range" "time" "time_range" "date_time_aggregation" "dropdown" "dropdown_multi" "dropdown_dynamic" "dropdown_multi_dynamic" "dropdown_manual" "dropdown_multi_manual"

The control type determines the UI control that the filter presents on a dashboard for selecting input values. Some control types are fixed to a single value type. For example, the control type date_time_range must always be used with a DATE_TIME value type.

value_type
string
Enum: "TEXT" "NUMBER" "BOOLEAN" "DATE" "TIME" "DATE_TIME"

The value type determines how input values for the filter are validated and represented in SQL.

sql_query
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The SQL query must produce the dropdown options for the filter (1st column as value, 2nd optional column as label).

Note: SQL queries for static SQL filters (dropdown and dropdown_multi) must not produce Unicode NUL characters in query results.

data_refresh_rate
integer

Only for dropdown, dropdown_dynamic and their *_multi variants.

For dropdown and dropdown_multi the data refresh rate is a number of minutes specifying the fixed rate at which the SQL query is re-run to refresh the filter options.

For dropdown_dynamic and dropdown_multi_dynamic, the data refresh rate is a number of minutes specifying the maximum age of the dropdown options. Cluvio automatically refreshes the options by re-running the SQL query as necessary and only when the filter is actually used.

default_values
Array of strings or numbers or booleans or null

Each default value must be valid according to the filter's value_type.

required
boolean
Default: false

Whether a value must be selected for this filter.

dropdown_validate
boolean
Default: false

Only for control type dropdown, dropdown_multi, dropdown_manual, dropdown_multi_manual, dropdown_dynamic and dropdown_multi_dynamic.

Whether input values for a drop-down filter should be validated against the available values.

Enabling drop-down validation guarantees that an input value is only accepted if it is included in the values known to the filter. Note that the allowed values for drop-down filters based on SQL can change whenever the filter's SQL query is run and validation is only performed against the most recently produced values.

relative_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether relative ranges are allowed as input.

before_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without a lower bound are allowed as input.

after_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without an upper bound are allowed as input.

from_to_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether absolute ranges are allowed as input.

allowed_aggregations
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

Only for control type date_time_aggregation.

The allowed aggregation options.

last_query_success
string <date-time>

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The timestamp of the last successful execution of the filter's SQL query.

last_query_error_message
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The last query error of the filter's SQL query, if any.

created_at
string <date-time>

The timestamp when the filter was created.

updated_at
string <date-time>

The timestamp when the filter was last updated.

object (FilterRelationships)
object

The datasource used by the filter.

Only SQL filters use a datasource (control type dropdown, dropdown_dynamic and their *_multi variants).

object (DatasourceRef)
id
string
type
string
Value: "datasources"
object

The transitive closure of SQL snippets used by the filter.

Only SQL filters can have SQL snippets.

Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object

Only for static SQL filters (control type dropdown or dropdown_multi).

Note: Use of dropdown_dynamic and dropdown_multi_dynamic should be preferred to express filter dependencies in the filter SQL query.

object (FilterRef)
id
string
type
string
Value: "filters"
Array of Datasource (object) or SqlSnippet (object) or Filter (object)

The optionally included relationship objects.

Array
One of
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "filters",
    • "attributes": {
      • "display_name": "string",
      • "variable_name": "string",
      • "control_type": "input",
      • "value_type": "TEXT",
      • "sql_query": "string",
      • "data_refresh_rate": 0,
      • "default_values": [
        • "string"
        ],
      • "required": false,
      • "dropdown_validate": false,
      • "relative_range_enabled": true,
      • "before_range_enabled": true,
      • "after_range_enabled": true,
      • "from_to_range_enabled": true,
      • "allowed_aggregations": [
        • "second"
        ],
      • "last_query_success": "2019-08-24T14:15:22Z",
      • "last_query_error_message": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "parent_filter": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "filters"
          }
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "datasources",
      • "attributes": {
        • "name": "string",
        • "database_type": "postgres",
        • "connection_mode": "direct",
        • "host": "string",
        • "port": 0,
        • "username": "string",
        • "password": "string",
        • "database": "string",
        • "ssh_tunnel_host": "string",
        • "ssh_tunnel_port": 0,
        • "ssh_tunnel_user": "string",
        • "data_time_zone": "Europe/Berlin",
        • "require_ssl": true,
        • "verify_ssl": false,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "schema_updated_at": "2019-08-24T14:15:22Z",
        • "total_row_count": 0,
        • "total_row_count_exact": true,
        • "default_schema_name": "string",
        • "max_concurrent_executions": 20,
        • "server_version": "string",
        • "update_schema_nightly": true,
        • "update_schema_row_counts": true,
        • "athena_region": "string",
        • "athena_workgroup": "string",
        • "databricks_http_path": "string",
        • "snowflake_identifier": "string",
        • "snowflake_region": "string",
        • "snowflake_warehouse": "string",
        • "bigquery_service_key": "string"
        },
      • "relationships": {
        • "agents": {
          • "data": [
            • {
              • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
              • "type": "datasource_agents"
              }
            ]
          }
        }
      }
    ]
}

Update Filter

To update a SQL drop-down filter, the API key must have access to the filter's datasource.

Note: Changing the variable name of a filter that is used in SQL queries of reports, other filters or SQL snippets results in the old variable name to be interpreted as an ad hoc text filter without a definition. See Custom Filters in the user reference manual for details.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (FilterAttributes)
display_name
string

The name shown on a dashboard.

variable_name
string

The name used in Cluvio filter expressions in SQL queries.

The variable name can only contain letters, digits, underscores (_) and hyphens (-).

control_type
string
Enum: "input" "input_multi" "checkbox" "checkbox_two_way" "date_time" "date_time_range" "date" "date_range" "time" "time_range" "date_time_aggregation" "dropdown" "dropdown_multi" "dropdown_dynamic" "dropdown_multi_dynamic" "dropdown_manual" "dropdown_multi_manual"

The control type determines the UI control that the filter presents on a dashboard for selecting input values. Some control types are fixed to a single value type. For example, the control type date_time_range must always be used with a DATE_TIME value type.

value_type
string
Enum: "TEXT" "NUMBER" "BOOLEAN" "DATE" "TIME" "DATE_TIME"

The value type determines how input values for the filter are validated and represented in SQL.

values
Array of strings

Only for control type dropdown_manual and dropdown_multi_manual.

The option values of the manual drop-down filter.

Note: Values for manual drop-down filters must not contain the Unicode NUL character.

value_names
Array of strings

Only for control type dropdown_manual and dropdown_multi_manual.

The option value names of the manual drop-down filter. Each item in the list is the option name / label corresponding to the option value in values at the same position.

If a value in values has no corresponding entry in value_names, the value is also used as the name / label.

Note: Value names for manual drop-down filters must not contain the Unicode NUL character.

sql_query
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The SQL query must produce the dropdown options for the filter (1st column as value, 2nd optional column as label).

Note: SQL queries for static SQL filters (dropdown and dropdown_multi) must not produce Unicode NUL characters in query results.

data_refresh_rate
integer

Only for dropdown, dropdown_dynamic and their *_multi variants.

For dropdown and dropdown_multi the data refresh rate is a number of minutes specifying the fixed rate at which the SQL query is re-run to refresh the filter options.

For dropdown_dynamic and dropdown_multi_dynamic, the data refresh rate is a number of minutes specifying the maximum age of the dropdown options. Cluvio automatically refreshes the options by re-running the SQL query as necessary and only when the filter is actually used.

default_values
Array of strings or numbers or booleans or null

Each default value must be valid according to the filter's value_type.

required
boolean
Default: false

Whether a value must be selected for this filter.

dropdown_validate
boolean
Default: false

Only for control type dropdown, dropdown_multi, dropdown_manual, dropdown_multi_manual, dropdown_dynamic and dropdown_multi_dynamic.

Whether input values for a drop-down filter should be validated against the available values.

Enabling drop-down validation guarantees that an input value is only accepted if it is included in the values known to the filter. Note that the allowed values for drop-down filters based on SQL can change whenever the filter's SQL query is run and validation is only performed against the most recently produced values.

relative_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether relative ranges are allowed as input.

before_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without a lower bound are allowed as input.

after_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without an upper bound are allowed as input.

from_to_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether absolute ranges are allowed as input.

allowed_aggregations
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

Only for control type date_time_aggregation.

The allowed aggregation options.

object (FilterRelationships)
object

The datasource used by the filter.

Only SQL filters use a datasource (control type dropdown, dropdown_dynamic and their *_multi variants).

object (DatasourceRef)
id
string
type
string
Value: "datasources"
object

The transitive closure of SQL snippets used by the filter.

Only SQL filters can have SQL snippets.

Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object

Only for static SQL filters (control type dropdown or dropdown_multi).

Note: Use of dropdown_dynamic and dropdown_multi_dynamic should be preferred to express filter dependencies in the filter SQL query.

object (FilterRef)
id
string
type
string
Value: "filters"

Responses

Response Schema: application/vnd.api+json
object (Filter)
id
string
type
string
Value: "filters"
object (FilterAttributes)
display_name
string

The name shown on a dashboard.

variable_name
string

The name used in Cluvio filter expressions in SQL queries.

The variable name can only contain letters, digits, underscores (_) and hyphens (-).

control_type
string
Enum: "input" "input_multi" "checkbox" "checkbox_two_way" "date_time" "date_time_range" "date" "date_range" "time" "time_range" "date_time_aggregation" "dropdown" "dropdown_multi" "dropdown_dynamic" "dropdown_multi_dynamic" "dropdown_manual" "dropdown_multi_manual"

The control type determines the UI control that the filter presents on a dashboard for selecting input values. Some control types are fixed to a single value type. For example, the control type date_time_range must always be used with a DATE_TIME value type.

value_type
string
Enum: "TEXT" "NUMBER" "BOOLEAN" "DATE" "TIME" "DATE_TIME"

The value type determines how input values for the filter are validated and represented in SQL.

sql_query
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The SQL query must produce the dropdown options for the filter (1st column as value, 2nd optional column as label).

Note: SQL queries for static SQL filters (dropdown and dropdown_multi) must not produce Unicode NUL characters in query results.

data_refresh_rate
integer

Only for dropdown, dropdown_dynamic and their *_multi variants.

For dropdown and dropdown_multi the data refresh rate is a number of minutes specifying the fixed rate at which the SQL query is re-run to refresh the filter options.

For dropdown_dynamic and dropdown_multi_dynamic, the data refresh rate is a number of minutes specifying the maximum age of the dropdown options. Cluvio automatically refreshes the options by re-running the SQL query as necessary and only when the filter is actually used.

default_values
Array of strings or numbers or booleans or null

Each default value must be valid according to the filter's value_type.

required
boolean
Default: false

Whether a value must be selected for this filter.

dropdown_validate
boolean
Default: false

Only for control type dropdown, dropdown_multi, dropdown_manual, dropdown_multi_manual, dropdown_dynamic and dropdown_multi_dynamic.

Whether input values for a drop-down filter should be validated against the available values.

Enabling drop-down validation guarantees that an input value is only accepted if it is included in the values known to the filter. Note that the allowed values for drop-down filters based on SQL can change whenever the filter's SQL query is run and validation is only performed against the most recently produced values.

relative_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether relative ranges are allowed as input.

before_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without a lower bound are allowed as input.

after_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether ranges without an upper bound are allowed as input.

from_to_range_enabled
boolean
Default: true

Only for control type date_time_range, date_range and time_range.

Whether absolute ranges are allowed as input.

allowed_aggregations
Array of strings (AggregationOption)
Items Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

Only for control type date_time_aggregation.

The allowed aggregation options.

last_query_success
string <date-time>

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The timestamp of the last successful execution of the filter's SQL query.

last_query_error_message
string

Only for control type dropdown, dropdown_dynamic and their *_multi variants.

The last query error of the filter's SQL query, if any.

created_at
string <date-time>

The timestamp when the filter was created.

updated_at
string <date-time>

The timestamp when the filter was last updated.

object (FilterRelationships)
object

The datasource used by the filter.

Only SQL filters use a datasource (control type dropdown, dropdown_dynamic and their *_multi variants).

object (DatasourceRef)
id
string
type
string
Value: "datasources"
object

The transitive closure of SQL snippets used by the filter.

Only SQL filters can have SQL snippets.

Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
object

Only for static SQL filters (control type dropdown or dropdown_multi).

Note: Use of dropdown_dynamic and dropdown_multi_dynamic should be preferred to express filter dependencies in the filter SQL query.

object (FilterRef)
id
string
type
string
Value: "filters"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "display_name": "string",
      • "variable_name": "string",
      • "control_type": "input",
      • "value_type": "TEXT",
      • "values": [
        • "string"
        ],
      • "value_names": [
        • "string"
        ],
      • "sql_query": "string",
      • "data_refresh_rate": 0,
      • "default_values": [
        • "string"
        ],
      • "required": false,
      • "dropdown_validate": false,
      • "relative_range_enabled": true,
      • "before_range_enabled": true,
      • "after_range_enabled": true,
      • "from_to_range_enabled": true,
      • "allowed_aggregations": [
        • "second"
        ]
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "parent_filter": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "filters"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "filters",
    • "attributes": {
      • "display_name": "string",
      • "variable_name": "string",
      • "control_type": "input",
      • "value_type": "TEXT",
      • "sql_query": "string",
      • "data_refresh_rate": 0,
      • "default_values": [
        • "string"
        ],
      • "required": false,
      • "dropdown_validate": false,
      • "relative_range_enabled": true,
      • "before_range_enabled": true,
      • "after_range_enabled": true,
      • "from_to_range_enabled": true,
      • "allowed_aggregations": [
        • "second"
        ],
      • "last_query_success": "2019-08-24T14:15:22Z",
      • "last_query_error_message": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        },
      • "parent_filter": {
        • "data": {
          • "id": "qw1x-7w2l-7rd5",
          • "type": "filters"
          }
        }
      }
    }
}

Delete Filter

To delete a SQL drop-down filter the API key must have access to the filter's datasource.

Note: Deleting a filter that is used in SQL queries of reports, other filters or SQL snippets results in the variable name to be interpreted as an ad hoc text filter without a definition. See Custom Filters in the user reference manual for details.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Get Drop-Down Filter Options

Returns the options of a drop-down filter.

For dynamic SQL filters (control type dropdown_dynamic or dropdown_multi_dynamic), the options may not be available if the filter's SQL query did not run within the last 24 hours for the given dashboard and input parameters.

For static SQL filters (control type dropdown or dropdown_multi), the options may not be available if the current SQL query has not successfully ran at least once.

This operation does not trigger queries. If the response contains no options for your SQL drop-down filter, you may need to refresh the filter first via the filter refresh or dashboard status operation.

If the filter is a dynamic SQL drop-down filter, a dashboard ID and input parameters must be provided.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json

Dynamic Drop-down Filter Parameters

dashboard_id
string

The dashboard for which to get dynamic SQL drop-down options.

object (InputParameters)

The input parameters for which to get dynamic SQL drop-down options.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
data_timestamp
integer <unix-time>

The timestamp when the options were created (i.e. the SQL query was run).

Only present for SQL drop-down options.

object
values
Array of strings
value_names
Array of strings
parent_values
Array of strings

Only present for static SQL filters (control type dropdown or dropdown_multi) with a parent filter.

Request samples

Content type
application/json
{
  • "dashboard_id": "string",
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "data_timestamp": 0,
  • "options": {
    • "values": [
      • "string"
      ],
    • "value_names": [
      • "string"
      ],
    • "parent_values": [
      • "string"
      ]
    }
}

Refresh Drop-Down Filter Options

Refresh of the options of a SQL drop-down filter by running the filter's SQL query.

If the filter is a dynamic SQL drop-down filter, a dashboard ID and input parameters must be provided.

Note: This operation has no effect for a manual drop-down filter (status 204).

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
Request Body schema: application/json

Dynamic Drop-down Filter Parameters

dashboard_id
string

The dashboard for which to refresh dynamic SQL drop-down options.

object (InputParameters)

The input parameters for which to refresh dynamic SQL drop-down options.

timerange
string

The input value for the built-in timerange filter, in the format <unix-start-time>~<unix-end-time>. Both range boundaries are optional and inclusive, e.g. ~ specifies an unbounded timerange.

aggregation
string (AggregationOption)
Enum: "second" "minute" "hour" "day" "week" "week_sunday" "month" "quarter" "year" "all_time"

The input value for the built-in aggregation filter.

tz
string

The input value for the dashboard time zone, if the dashboard is configured to accept an input time zone.

Array of objects (FilterInput)

Input values for custom filters.

Array
variable_name
string
selected_values
Array of numbers or strings or booleans or null

Responses

Response Schema: application/json
execution_id
integer <uuid>

The ID of the filter query execution.

Request samples

Content type
application/json
{
  • "dashboard_id": "string",
  • "parameters": {
    • "timerange": "1712233090~1712237090",
    • "aggregation": "second",
    • "tz": "Europe/Berlin",
    • "filters": [
      • {
        • "variable_name": "string",
        • "selected_values": [
          • 0
          ]
        }
      ]
    }
}

Response samples

Content type
application/json
{
  • "execution_id": 0
}

SQL Snippets

Create SQL Snippet

Create a new SQL snippet.

A SQL snippet is a reusable fragment of text that can be used in any report or filter query, as well as other SQL snippets.

A SQL snippet is always associated with a particular datasource.

To create a SQL snippet, the API key must have access to the snippet's datasource.

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (SqlSnippetAttributes)
name
required
text
description
text
text
required
text
params
text
object (SqlSnippetRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"

Responses

Response Schema: application/vnd.api+json
object (SqlSnippet)
id
string
type
string
Value: "sql_snippets"
object (SqlSnippetAttributes)
name
text
description
text
text
text
params
text
created_at
string <date-time>
updated_at
string <date-time>
object (SqlSnippetRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": null,
      • "description": null,
      • "text": null,
      • "params": null
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "sql_snippets",
    • "attributes": {
      • "name": null,
      • "description": null,
      • "text": null,
      • "params": null,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        }
      }
    }
}

List SQL Snippets

List all SQL snippets.

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (SqlSnippet)
Array
id
string
type
string
Value: "sql_snippets"
object (SqlSnippetAttributes)
name
text
description
text
text
text
params
text
created_at
string <date-time>
updated_at
string <date-time>
object (SqlSnippetRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "sql_snippets",
      • "attributes": {
        • "name": null,
        • "description": null,
        • "text": null,
        • "params": null,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "datasource": {
          • "data": {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          },
        • "sql_snippets": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "sql_snippets"
              }
            ]
          }
        }
      }
    ]
}

Get SQL Snippet

Get a SQL snippet by ID.

Authorizations:
ApiKeyApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "datasource" "sql_snippets"

[Optional] The relationship objects to include in the included section of the response.

Including datasource requires View Datasources, Manage Datasources or Manage Dashboards permission.

Responses

Response Schema: application/vnd.api+json
object (SqlSnippet)
id
string
type
string
Value: "sql_snippets"
object (SqlSnippetAttributes)
name
text
description
text
text
text
params
text
created_at
string <date-time>
updated_at
string <date-time>
object (SqlSnippetRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"
Array of Datasource (object) or SqlSnippet (object)

The optionally included relationship objects.

Array
One of
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "sql_snippets",
    • "attributes": {
      • "name": null,
      • "description": null,
      • "text": null,
      • "params": null,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "datasources",
      • "attributes": {
        • "name": "string",
        • "database_type": "postgres",
        • "connection_mode": "direct",
        • "host": "string",
        • "port": 0,
        • "username": "string",
        • "password": "string",
        • "database": "string",
        • "ssh_tunnel_host": "string",
        • "ssh_tunnel_port": 0,
        • "ssh_tunnel_user": "string",
        • "data_time_zone": "Europe/Berlin",
        • "require_ssl": true,
        • "verify_ssl": false,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "schema_updated_at": "2019-08-24T14:15:22Z",
        • "total_row_count": 0,
        • "total_row_count_exact": true,
        • "default_schema_name": "string",
        • "max_concurrent_executions": 20,
        • "server_version": "string",
        • "update_schema_nightly": true,
        • "update_schema_row_counts": true,
        • "athena_region": "string",
        • "athena_workgroup": "string",
        • "databricks_http_path": "string",
        • "snowflake_identifier": "string",
        • "snowflake_region": "string",
        • "snowflake_warehouse": "string",
        • "bigquery_service_key": "string"
        },
      • "relationships": {
        • "agents": {
          • "data": [
            • {
              • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
              • "type": "datasource_agents"
              }
            ]
          }
        }
      }
    ]
}

Update SQL Snippet

To update a SQL snippet, the API key must have access to the snippet's old and new datasource.

Note: When a snippet is renamed that is used in reports, filters or other SQL snippets, the snippet expression is retained verbatim in the SQL, which most likely results in invalid SQL.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (SqlSnippetAttributes)
name
text
description
text
text
text
params
text
object (SqlSnippetRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"

Responses

Response Schema: application/vnd.api+json
object (SqlSnippet)
id
string
type
string
Value: "sql_snippets"
object (SqlSnippetAttributes)
name
text
description
text
text
text
params
text
created_at
string <date-time>
updated_at
string <date-time>
object (SqlSnippetRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
object
Array of objects (SqlSnippetRef)
Array
id
string
type
string
Value: "sql_snippets"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": null,
      • "description": null,
      • "text": null,
      • "params": null
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "sql_snippets",
    • "attributes": {
      • "name": null,
      • "description": null,
      • "text": null,
      • "params": null,
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        },
      • "sql_snippets": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "sql_snippets"
            }
          ]
        }
      }
    }
}

Delete SQL Snippet

To delete a SQL snippet, the API key must have Manage Datasources permission on the snippet's datasource.

Note: When a SQL snippet is deleted that is used in reports, filters or other SQL snippets, the snippet expression is retained verbatim in the SQL, which most likely results in invalid SQL.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

SQL Alerts

Create SQL Alert

To create a SQL alert, the API key must have access to the alert's datasource.

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
required
object (SqlAlertAttributes)
name
required
string
description
string
sql_query
required
string

The SQL query to run. The query results are evaluated against the trigger_condition.

run_schedule
required
string
Enum: "disabled" "at" "every"

The run schedule determines when the alert SQL query is run and the trigger condition evaluated.

When set to disabled, the alert SQL query is not run automatically, only when explicitly requested.

When set to at, the alert SQL query is run every day at specific times-of-day. See run_at.

When set to every, the alert SQL query is run on a fixed interval. See run_every.

run_at
string

Required when the run_schedule is at.

Specifies the time-of-day when the alert condition is evaluated. To have the alert condition evaluated multiples times per day, specify multiple values separated by comma, as in 06:00,18:00. The time-of-day can also be specified with a 12-hour clock and an am or pm suffix.

run_every
integer

Required when the run_schedule is every.

Specifies the number of minutes between alert SQL executions.

trigger_condition
required
string
Default: "has_results"
Enum: "has_results" "no_results" "greater_than" "lower_than" "equal" "not_equal"

The trigger condition is evaluated on the SQL query results and determines when the alert triggers.

If the trigger condition is a comparison operator, the SQL query must produce a numeric result which is compared to the trigger_value.

trigger_value
number

If the trigger_condition is a comparison operator, the trigger value is the right-hand side of the comparison, as in <sql-result-value> <trigger_condition> <trigger_value>.

email_condition
required
string
Enum: "triggered" "changed" "all"

Defines when the alert sends e-mails:

  • triggered: Alert e-mails are sent whenever the trigger condition is satisfied.
  • changed: Alert e-mails are sent only when the result of the trigger condition evaluation changes, i.e. from satisfied to not satisfied or vice versa.
  • all: Alert e-mails are sent every time the alert query is run, regardless of the trigger condition. The trigger condition only determines the e-mail subject.
emails
string <email>

Comma-separated recipient e-mail addresses.

cc_emails
string <email>

Comma-separated CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated BCC recipient e-mail addresses.

error_emails
string <email>

Comma-separated error e-mail addresses. If set, errors when running the alert query are sent to these e-mail addresses instead of the regular recipients.

attach_as
string
Enum: "csv" "excel"

The query result of the alert query can be attached to the alert e-mails either as a CSV or an Excel file.

required
object (SqlAlertRelationships)
required
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Responses

Response Schema: application/vnd.api+json
object (SqlAlert)
id
string
type
string
Value: "sql_alerts"
object (SqlAlertAttributes)
name
string
description
string
sql_query
string

The SQL query to run. The query results are evaluated against the trigger_condition.

run_schedule
string
Enum: "disabled" "at" "every"

The run schedule determines when the alert SQL query is run and the trigger condition evaluated.

When set to disabled, the alert SQL query is not run automatically, only when explicitly requested.

When set to at, the alert SQL query is run every day at specific times-of-day. See run_at.

When set to every, the alert SQL query is run on a fixed interval. See run_every.

run_at
string

Required when the run_schedule is at.

Specifies the time-of-day when the alert condition is evaluated. To have the alert condition evaluated multiples times per day, specify multiple values separated by comma, as in 06:00,18:00. The time-of-day can also be specified with a 12-hour clock and an am or pm suffix.

run_every
integer

Required when the run_schedule is every.

Specifies the number of minutes between alert SQL executions.

trigger_condition
string
Default: "has_results"
Enum: "has_results" "no_results" "greater_than" "lower_than" "equal" "not_equal"

The trigger condition is evaluated on the SQL query results and determines when the alert triggers.

If the trigger condition is a comparison operator, the SQL query must produce a numeric result which is compared to the trigger_value.

trigger_value
number

If the trigger_condition is a comparison operator, the trigger value is the right-hand side of the comparison, as in <sql-result-value> <trigger_condition> <trigger_value>.

email_condition
string
Enum: "triggered" "changed" "all"

Defines when the alert sends e-mails:

  • triggered: Alert e-mails are sent whenever the trigger condition is satisfied.
  • changed: Alert e-mails are sent only when the result of the trigger condition evaluation changes, i.e. from satisfied to not satisfied or vice versa.
  • all: Alert e-mails are sent every time the alert query is run, regardless of the trigger condition. The trigger condition only determines the e-mail subject.
emails
string <email>

Comma-separated recipient e-mail addresses.

cc_emails
string <email>

Comma-separated CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated BCC recipient e-mail addresses.

error_emails
string <email>

Comma-separated error e-mail addresses. If set, errors when running the alert query are sent to these e-mail addresses instead of the regular recipients.

attach_as
string
Enum: "csv" "excel"

The query result of the alert query can be attached to the alert e-mails either as a CSV or an Excel file.

running_execution_id
string <uuid>

If the alert query is currently running, this is the corresponding execution ID.

last_result_status
string (SqlAlertResultStatus)
Enum: "ok" "alert_triggered" "alert_error" "query_error" "internal_error" "internal_timeout" "cancelled"
last_error_message
string

The last alert error message, if any.

An alert error message can be present as a result of a failed evaluation of the alert condition, even if the alert query succeeded.

For the last SQL query error, see last_query_error_message.

last_query_run
string <date-time>

The timestamp of the last alert SQL query execution, if any.

last_query_success
string <date-time>

The timestamp of the last successful SQL query execution, if any.

last_query_error_message
string

The last SQL query error message, if any.

created_at
string <date-time>
updated_at
string <date-time>
object (SqlAlertRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "run_schedule": "disabled",
      • "run_at": "string",
      • "run_every": 10,
      • "trigger_condition": "has_results",
      • "trigger_value": 0,
      • "email_condition": "triggered",
      • "emails": "user@example.com",
      • "cc_emails": "user@example.com",
      • "bcc_emails": "user@example.com",
      • "error_emails": "user@example.com",
      • "attach_as": "csv",
      • "last_result_status": "ok"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "sql_alerts",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "run_schedule": "disabled",
      • "run_at": "string",
      • "run_every": 10,
      • "trigger_condition": "has_results",
      • "trigger_value": 0,
      • "email_condition": "triggered",
      • "emails": "user@example.com",
      • "cc_emails": "user@example.com",
      • "bcc_emails": "user@example.com",
      • "error_emails": "user@example.com",
      • "attach_as": "csv",
      • "running_execution_id": "9d4ecb4c-0a18-4185-bf51-54097bb1033a",
      • "last_result_status": "ok",
      • "last_error_message": "string",
      • "last_query_run": "2019-08-24T14:15:22Z",
      • "last_query_success": "2019-08-24T14:15:22Z",
      • "last_query_error_message": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

List SQL Alerts

Authorizations:
ApiKeyApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (SqlAlert)
Array
id
string
type
string
Value: "sql_alerts"
object (SqlAlertAttributes)
name
string
description
string
sql_query
string

The SQL query to run. The query results are evaluated against the trigger_condition.

run_schedule
string
Enum: "disabled" "at" "every"

The run schedule determines when the alert SQL query is run and the trigger condition evaluated.

When set to disabled, the alert SQL query is not run automatically, only when explicitly requested.

When set to at, the alert SQL query is run every day at specific times-of-day. See run_at.

When set to every, the alert SQL query is run on a fixed interval. See run_every.

run_at
string

Required when the run_schedule is at.

Specifies the time-of-day when the alert condition is evaluated. To have the alert condition evaluated multiples times per day, specify multiple values separated by comma, as in 06:00,18:00. The time-of-day can also be specified with a 12-hour clock and an am or pm suffix.

run_every
integer

Required when the run_schedule is every.

Specifies the number of minutes between alert SQL executions.

trigger_condition
string
Default: "has_results"
Enum: "has_results" "no_results" "greater_than" "lower_than" "equal" "not_equal"

The trigger condition is evaluated on the SQL query results and determines when the alert triggers.

If the trigger condition is a comparison operator, the SQL query must produce a numeric result which is compared to the trigger_value.

trigger_value
number

If the trigger_condition is a comparison operator, the trigger value is the right-hand side of the comparison, as in <sql-result-value> <trigger_condition> <trigger_value>.

email_condition
string
Enum: "triggered" "changed" "all"

Defines when the alert sends e-mails:

  • triggered: Alert e-mails are sent whenever the trigger condition is satisfied.
  • changed: Alert e-mails are sent only when the result of the trigger condition evaluation changes, i.e. from satisfied to not satisfied or vice versa.
  • all: Alert e-mails are sent every time the alert query is run, regardless of the trigger condition. The trigger condition only determines the e-mail subject.
emails
string <email>

Comma-separated recipient e-mail addresses.

cc_emails
string <email>

Comma-separated CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated BCC recipient e-mail addresses.

error_emails
string <email>

Comma-separated error e-mail addresses. If set, errors when running the alert query are sent to these e-mail addresses instead of the regular recipients.

attach_as
string
Enum: "csv" "excel"

The query result of the alert query can be attached to the alert e-mails either as a CSV or an Excel file.

running_execution_id
string <uuid>

If the alert query is currently running, this is the corresponding execution ID.

last_result_status
string (SqlAlertResultStatus)
Enum: "ok" "alert_triggered" "alert_error" "query_error" "internal_error" "internal_timeout" "cancelled"
last_error_message
string

The last alert error message, if any.

An alert error message can be present as a result of a failed evaluation of the alert condition, even if the alert query succeeded.

For the last SQL query error, see last_query_error_message.

last_query_run
string <date-time>

The timestamp of the last alert SQL query execution, if any.

last_query_success
string <date-time>

The timestamp of the last successful SQL query execution, if any.

last_query_error_message
string

The last SQL query error message, if any.

created_at
string <date-time>
updated_at
string <date-time>
object (SqlAlertRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "string",
      • "type": "sql_alerts",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "sql_query": "string",
        • "run_schedule": "disabled",
        • "run_at": "string",
        • "run_every": 10,
        • "trigger_condition": "has_results",
        • "trigger_value": 0,
        • "email_condition": "triggered",
        • "emails": "user@example.com",
        • "cc_emails": "user@example.com",
        • "bcc_emails": "user@example.com",
        • "error_emails": "user@example.com",
        • "attach_as": "csv",
        • "running_execution_id": "9d4ecb4c-0a18-4185-bf51-54097bb1033a",
        • "last_result_status": "ok",
        • "last_error_message": "string",
        • "last_query_run": "2019-08-24T14:15:22Z",
        • "last_query_success": "2019-08-24T14:15:22Z",
        • "last_query_error_message": "string",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "datasource": {
          • "data": {
            • "id": "8qxn-y9ex-65vd",
            • "type": "datasources"
            }
          }
        }
      }
    ]
}

Get SQL Alert

Authorizations:
ApiKeyApiKey
path Parameters
id
string
query Parameters
include
string
Value: "datasource"

[Optional] The relationship objects to include in the included section of the response.

Including datasource requires View Datasources, Manage Datasources or Manage Alerts permission.

Responses

Response Schema: application/vnd.api+json
object (SqlAlert)
id
string
type
string
Value: "sql_alerts"
object (SqlAlertAttributes)
name
string
description
string
sql_query
string

The SQL query to run. The query results are evaluated against the trigger_condition.

run_schedule
string
Enum: "disabled" "at" "every"

The run schedule determines when the alert SQL query is run and the trigger condition evaluated.

When set to disabled, the alert SQL query is not run automatically, only when explicitly requested.

When set to at, the alert SQL query is run every day at specific times-of-day. See run_at.

When set to every, the alert SQL query is run on a fixed interval. See run_every.

run_at
string

Required when the run_schedule is at.

Specifies the time-of-day when the alert condition is evaluated. To have the alert condition evaluated multiples times per day, specify multiple values separated by comma, as in 06:00,18:00. The time-of-day can also be specified with a 12-hour clock and an am or pm suffix.

run_every
integer

Required when the run_schedule is every.

Specifies the number of minutes between alert SQL executions.

trigger_condition
string
Default: "has_results"
Enum: "has_results" "no_results" "greater_than" "lower_than" "equal" "not_equal"

The trigger condition is evaluated on the SQL query results and determines when the alert triggers.

If the trigger condition is a comparison operator, the SQL query must produce a numeric result which is compared to the trigger_value.

trigger_value
number

If the trigger_condition is a comparison operator, the trigger value is the right-hand side of the comparison, as in <sql-result-value> <trigger_condition> <trigger_value>.

email_condition
string
Enum: "triggered" "changed" "all"

Defines when the alert sends e-mails:

  • triggered: Alert e-mails are sent whenever the trigger condition is satisfied.
  • changed: Alert e-mails are sent only when the result of the trigger condition evaluation changes, i.e. from satisfied to not satisfied or vice versa.
  • all: Alert e-mails are sent every time the alert query is run, regardless of the trigger condition. The trigger condition only determines the e-mail subject.
emails
string <email>

Comma-separated recipient e-mail addresses.

cc_emails
string <email>

Comma-separated CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated BCC recipient e-mail addresses.

error_emails
string <email>

Comma-separated error e-mail addresses. If set, errors when running the alert query are sent to these e-mail addresses instead of the regular recipients.

attach_as
string
Enum: "csv" "excel"

The query result of the alert query can be attached to the alert e-mails either as a CSV or an Excel file.

running_execution_id
string <uuid>

If the alert query is currently running, this is the corresponding execution ID.

last_result_status
string (SqlAlertResultStatus)
Enum: "ok" "alert_triggered" "alert_error" "query_error" "internal_error" "internal_timeout" "cancelled"
last_error_message
string

The last alert error message, if any.

An alert error message can be present as a result of a failed evaluation of the alert condition, even if the alert query succeeded.

For the last SQL query error, see last_query_error_message.

last_query_run
string <date-time>

The timestamp of the last alert SQL query execution, if any.

last_query_success
string <date-time>

The timestamp of the last successful SQL query execution, if any.

last_query_error_message
string

The last SQL query error message, if any.

created_at
string <date-time>
updated_at
string <date-time>
object (SqlAlertRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"
Array of objects (Datasource)
Array
id
string
type
string
Value: "datasources"
object (DatasourceAttributes)
name
string
database_type
string
Enum: "postgres" "redshift" "mysql" "mariadb" "oracle" "mssql" "bigquery" "athena" "presto" "trino" "snowflake" "vertica" "mongodb" "databricks"
connection_mode
string
Enum: "direct" "ssh_tunnel" "agent"
host
string

The database hostname to connect to.

Not applicable to BigQuery or Athena datasources.

port
integer

The database port to connect to.

Not applicable to BigQuery, Athena and Snowflake datasources.

username
string

The database username to use when connecting.

For BigQuery datasources, this must be the Project ID.

password
string

The database password to use when connecting.

Not applicable to BigQuery datasources. See bigquery_service_key for configuring BigQuery Service Account credentials.

database
string

The name of the database to connect to.

For BigQuery datasources, the value is optional and specifies the dataset to use. If set, the BigQuery datasource is restricted to this dataset.

ssh_tunnel_host
string

Only for connection_mode ssh_tunnel

ssh_tunnel_port
integer

Only for connection_mode ssh_tunnel

ssh_tunnel_user
string

Only for connection_mode ssh_tunnel

data_time_zone
string

The data time zone to use for the datasource.

require_ssl
boolean

Always true for database_type athena, bigquery, databricks, redshift or snowflake. Defaults to true for connection_mode direct.

verify_ssl
boolean
Default: false

Only for connection_mode direct. Always true for database_type athena, bigquery, databricks or snowflake. Always true for database_type oracle or presto when require_ssl is true.

enabled
boolean
Default: true
created_at
string <date-time>
updated_at
string <date-time>
schema_updated_at
string <date-time>
total_row_count
integer
total_row_count_exact
boolean
default_schema_name
string
max_concurrent_executions
integer
Default: 20
server_version
string
update_schema_nightly
boolean
Default: true
update_schema_row_counts
boolean
Default: true
athena_region
string

The Athena region to connect to.

Only for database type athena.

athena_workgroup
string

The Athena workgroup to connect to.

databricks_http_path
string

The Databricks HTTP path to connect to.

snowflake_identifier
string

The Snowflake account identifier to use.

snowflake_region
string

The Snowflake region to connect to.

snowflake_warehouse
string

The Snowflake warehouse to connect to.

bigquery_service_key
string

The BigQuery Service Key as a JSON string.

object (DatasourceRelationships)
object

The datasource agents used by the datasource to connect to the upstream database.

Only applicable to datasources with connection mode agent.

Array of objects (DatasourceAgentRef)
Array
id
string
type
string
Value: "datasource_agents"

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "sql_alerts",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "run_schedule": "disabled",
      • "run_at": "string",
      • "run_every": 10,
      • "trigger_condition": "has_results",
      • "trigger_value": 0,
      • "email_condition": "triggered",
      • "emails": "user@example.com",
      • "cc_emails": "user@example.com",
      • "bcc_emails": "user@example.com",
      • "error_emails": "user@example.com",
      • "attach_as": "csv",
      • "running_execution_id": "9d4ecb4c-0a18-4185-bf51-54097bb1033a",
      • "last_result_status": "ok",
      • "last_error_message": "string",
      • "last_query_run": "2019-08-24T14:15:22Z",
      • "last_query_success": "2019-08-24T14:15:22Z",
      • "last_query_error_message": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    },
  • "included": [
    • {
      • "id": "string",
      • "type": "datasources",
      • "attributes": {
        • "name": "string",
        • "database_type": "postgres",
        • "connection_mode": "direct",
        • "host": "string",
        • "port": 0,
        • "username": "string",
        • "password": "string",
        • "database": "string",
        • "ssh_tunnel_host": "string",
        • "ssh_tunnel_port": 0,
        • "ssh_tunnel_user": "string",
        • "data_time_zone": "Europe/Berlin",
        • "require_ssl": true,
        • "verify_ssl": false,
        • "enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z",
        • "schema_updated_at": "2019-08-24T14:15:22Z",
        • "total_row_count": 0,
        • "total_row_count_exact": true,
        • "default_schema_name": "string",
        • "max_concurrent_executions": 20,
        • "server_version": "string",
        • "update_schema_nightly": true,
        • "update_schema_row_counts": true,
        • "athena_region": "string",
        • "athena_workgroup": "string",
        • "databricks_http_path": "string",
        • "snowflake_identifier": "string",
        • "snowflake_region": "string",
        • "snowflake_warehouse": "string",
        • "bigquery_service_key": "string"
        },
      • "relationships": {
        • "agents": {
          • "data": [
            • {
              • "id": "lZ21oPaLUNWJbEifEhiFTaPIWlqaaZL3jxMA7L3h5Qg",
              • "type": "datasource_agents"
              }
            ]
          }
        }
      }
    ]
}

Update SQL Alert

To update a SQL alert, the API key must have access to the alert's datasource.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (SqlAlertAttributes)
name
string
description
string
sql_query
string

The SQL query to run. The query results are evaluated against the trigger_condition.

run_schedule
string
Enum: "disabled" "at" "every"

The run schedule determines when the alert SQL query is run and the trigger condition evaluated.

When set to disabled, the alert SQL query is not run automatically, only when explicitly requested.

When set to at, the alert SQL query is run every day at specific times-of-day. See run_at.

When set to every, the alert SQL query is run on a fixed interval. See run_every.

run_at
string

Required when the run_schedule is at.

Specifies the time-of-day when the alert condition is evaluated. To have the alert condition evaluated multiples times per day, specify multiple values separated by comma, as in 06:00,18:00. The time-of-day can also be specified with a 12-hour clock and an am or pm suffix.

run_every
integer

Required when the run_schedule is every.

Specifies the number of minutes between alert SQL executions.

trigger_condition
string
Default: "has_results"
Enum: "has_results" "no_results" "greater_than" "lower_than" "equal" "not_equal"

The trigger condition is evaluated on the SQL query results and determines when the alert triggers.

If the trigger condition is a comparison operator, the SQL query must produce a numeric result which is compared to the trigger_value.

trigger_value
number

If the trigger_condition is a comparison operator, the trigger value is the right-hand side of the comparison, as in <sql-result-value> <trigger_condition> <trigger_value>.

email_condition
string
Enum: "triggered" "changed" "all"

Defines when the alert sends e-mails:

  • triggered: Alert e-mails are sent whenever the trigger condition is satisfied.
  • changed: Alert e-mails are sent only when the result of the trigger condition evaluation changes, i.e. from satisfied to not satisfied or vice versa.
  • all: Alert e-mails are sent every time the alert query is run, regardless of the trigger condition. The trigger condition only determines the e-mail subject.
emails
string <email>

Comma-separated recipient e-mail addresses.

cc_emails
string <email>

Comma-separated CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated BCC recipient e-mail addresses.

error_emails
string <email>

Comma-separated error e-mail addresses. If set, errors when running the alert query are sent to these e-mail addresses instead of the regular recipients.

attach_as
string
Enum: "csv" "excel"

The query result of the alert query can be attached to the alert e-mails either as a CSV or an Excel file.

object (SqlAlertRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Responses

Response Schema: application/vnd.api+json
object (SqlAlert)
id
string
type
string
Value: "sql_alerts"
object (SqlAlertAttributes)
name
string
description
string
sql_query
string

The SQL query to run. The query results are evaluated against the trigger_condition.

run_schedule
string
Enum: "disabled" "at" "every"

The run schedule determines when the alert SQL query is run and the trigger condition evaluated.

When set to disabled, the alert SQL query is not run automatically, only when explicitly requested.

When set to at, the alert SQL query is run every day at specific times-of-day. See run_at.

When set to every, the alert SQL query is run on a fixed interval. See run_every.

run_at
string

Required when the run_schedule is at.

Specifies the time-of-day when the alert condition is evaluated. To have the alert condition evaluated multiples times per day, specify multiple values separated by comma, as in 06:00,18:00. The time-of-day can also be specified with a 12-hour clock and an am or pm suffix.

run_every
integer

Required when the run_schedule is every.

Specifies the number of minutes between alert SQL executions.

trigger_condition
string
Default: "has_results"
Enum: "has_results" "no_results" "greater_than" "lower_than" "equal" "not_equal"

The trigger condition is evaluated on the SQL query results and determines when the alert triggers.

If the trigger condition is a comparison operator, the SQL query must produce a numeric result which is compared to the trigger_value.

trigger_value
number

If the trigger_condition is a comparison operator, the trigger value is the right-hand side of the comparison, as in <sql-result-value> <trigger_condition> <trigger_value>.

email_condition
string
Enum: "triggered" "changed" "all"

Defines when the alert sends e-mails:

  • triggered: Alert e-mails are sent whenever the trigger condition is satisfied.
  • changed: Alert e-mails are sent only when the result of the trigger condition evaluation changes, i.e. from satisfied to not satisfied or vice versa.
  • all: Alert e-mails are sent every time the alert query is run, regardless of the trigger condition. The trigger condition only determines the e-mail subject.
emails
string <email>

Comma-separated recipient e-mail addresses.

cc_emails
string <email>

Comma-separated CC recipient e-mail addresses.

bcc_emails
string <email>

Comma-separated BCC recipient e-mail addresses.

error_emails
string <email>

Comma-separated error e-mail addresses. If set, errors when running the alert query are sent to these e-mail addresses instead of the regular recipients.

attach_as
string
Enum: "csv" "excel"

The query result of the alert query can be attached to the alert e-mails either as a CSV or an Excel file.

running_execution_id
string <uuid>

If the alert query is currently running, this is the corresponding execution ID.

last_result_status
string (SqlAlertResultStatus)
Enum: "ok" "alert_triggered" "alert_error" "query_error" "internal_error" "internal_timeout" "cancelled"
last_error_message
string

The last alert error message, if any.

An alert error message can be present as a result of a failed evaluation of the alert condition, even if the alert query succeeded.

For the last SQL query error, see last_query_error_message.

last_query_run
string <date-time>

The timestamp of the last alert SQL query execution, if any.

last_query_success
string <date-time>

The timestamp of the last successful SQL query execution, if any.

last_query_error_message
string

The last SQL query error message, if any.

created_at
string <date-time>
updated_at
string <date-time>
object (SqlAlertRelationships)
object
object (DatasourceRef)
id
string
type
string
Value: "datasources"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "run_schedule": "disabled",
      • "run_at": "string",
      • "run_every": 10,
      • "trigger_condition": "has_results",
      • "trigger_value": 0,
      • "email_condition": "triggered",
      • "emails": "user@example.com",
      • "cc_emails": "user@example.com",
      • "bcc_emails": "user@example.com",
      • "error_emails": "user@example.com",
      • "attach_as": "csv",
      • "last_result_status": "ok"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "string",
    • "type": "sql_alerts",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "sql_query": "string",
      • "run_schedule": "disabled",
      • "run_at": "string",
      • "run_every": 10,
      • "trigger_condition": "has_results",
      • "trigger_value": 0,
      • "email_condition": "triggered",
      • "emails": "user@example.com",
      • "cc_emails": "user@example.com",
      • "bcc_emails": "user@example.com",
      • "error_emails": "user@example.com",
      • "attach_as": "csv",
      • "running_execution_id": "9d4ecb4c-0a18-4185-bf51-54097bb1033a",
      • "last_result_status": "ok",
      • "last_error_message": "string",
      • "last_query_run": "2019-08-24T14:15:22Z",
      • "last_query_success": "2019-08-24T14:15:22Z",
      • "last_query_error_message": "string",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "datasource": {
        • "data": {
          • "id": "8qxn-y9ex-65vd",
          • "type": "datasources"
          }
        }
      }
    }
}

Delete SQL Alert

To update a SQL alert, the API key must have access to the alert's datasource.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Run SQL Alert Query

Runs the SQL alert query and evaluates the alert condition.

If the alert condition is satisfied and e-mail recipients are configured and the alert e-mail sending condition (send_when) is satisfied, the alert e-mails will be sent.

The returned execution ID can be used to inspect the progress of the alert query execution.

To run an alert query, the API key must have access to the alert's datasource.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response Schema: application/json
execution_id
string <uuid>

Response samples

Content type
application/json
{
  • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670"
}

List SQL Alert Results

Lists the SQL alert execution results for an alert.

By default the 100 most recent results are returned, ordered by creation date (descending). Use the limit query parameter to request a different number of results. The maximum number of results that can be returned per request is 1000. Use the cursor query parameter to continue reading older results.

Note: Alert results are available only for the last 30 days.

Authorizations:
ApiKey
path Parameters
id
string
query Parameters
cursor
string

[Optional] The opaque cursor returned from a previous request to continue fetching older results.

limit
integer
Default: 100

[Optional] The maximum number of results to fetch. At most 1000 results can be fetched with a single request.

Responses

Response Schema: application/json
cursor
string

If there are more results than returned, the cursor is an opaque value that can be sent in the cursor query parameter to fetch the next batch of results.

count
integer

The total number of results available.

Array of objects (SqlAlertResult)

The alert results, ordered by creation date (descending).

Array
result_status
string (SqlAlertResultStatus)
Enum: "ok" "alert_triggered" "alert_error" "query_error" "internal_error" "internal_timeout" "cancelled"
error_message
string

The error message if the alert failed.

sql_query
string

The SQL query that was run.

Only present if the API key also has the Include SQL Details permission.

sql_query_duration
integer

The duration of the SQL query execution, in milliseconds.

Only present if the API key also has the Include SQL Details permission.

created_at
string <date-time>

Response samples

Content type
application/json
{
  • "cursor": "string",
  • "count": 0,
  • "items": [
    • {
      • "result_status": "ok",
      • "error_message": "string",
      • "sql_query": "string",
      • "sql_query_duration": 0,
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ]
}

Users

List Users

List all users.

Authorizations:
ApiKey
query Parameters
include
string
Value: "user_groups"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
Array of objects (User)
Array
id
string
type
string
Value: "users"
object (UserAttributes)
firstname
string
lastname
string
email
string <email>
role
string
Enum: "viewer" "analyst" "admin"
otp_app_enabled
boolean

Only present if the API key has Manage Users permission.

otp_phone_enabled
boolean

Only present if the API key has Manage Users permission.

created_at
string <date-time>

The date & time when the user was created.

deactivated_at
string <date-time>

The date & time when the user was deactivated.

invitation_created_at
string <date-time>

The date & time when the user invitation was sent.

invitation_accepted_at
string <date-time>

The date & time when the user invitation was accepted.

object (UserRelationships)
object
object
Array of objects (UserGroup)
Array
id
string
type
string
Value: "user_groups"
object (UserGroupAttributes)
name
string
description
string
built_in_behavior
string
Enum: "all_users" "all_analysts"

For built-in user groups, this value identifies the behavior of the group:

  • all_users identifies the built-in user group that includes all current and future users in your Cluvio organization.

  • all_analysts identifies the built-in user group that includes all current and future users with role analyst or admin in your Cluvio organization.

The value of built_in_behavior can be used as a user group ID alias to share a dashboard with a combination of built-in and custom groups in the shareDashboard operation.

created_at
string <date-time>

The date & time when the user group was created.

updated_at
string <date-time>

The date & time when the user group was last updated.

object (UserGroupRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "zg6p-xee0-x9jy",
      • "type": "users",
      • "attributes": {
        • "firstname": "string",
        • "lastname": "string",
        • "email": "user@example.com",
        • "role": "viewer",
        • "otp_app_enabled": true,
        • "otp_phone_enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "deactivated_at": "2019-08-24T14:15:22Z",
        • "invitation_created_at": "2019-08-24T14:15:22Z",
        • "invitation_accepted_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          },
        • "invited_by_user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          }
        }
      }
    ],
  • "included": [
    • {
      • "id": "9lrp-n7dn-jz1m",
      • "type": "user_groups",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "built_in_behavior": "all_users",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "dashboards": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboards"
              }
            ]
          },
        • "users": {
          • "data": [
            • {
              • "id": "wej2-lzpx-84k3",
              • "type": "users"
              }
            ]
          }
        }
      }
    ]
}

Get User

Get a user by ID.

Authorizations:
ApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "user_groups" "invited_by_user"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
object (User)
id
string
type
string
Value: "users"
object (UserAttributes)
firstname
string
lastname
string
email
string <email>
role
string
Enum: "viewer" "analyst" "admin"
otp_app_enabled
boolean

Only present if the API key has Manage Users permission.

otp_phone_enabled
boolean

Only present if the API key has Manage Users permission.

created_at
string <date-time>

The date & time when the user was created.

deactivated_at
string <date-time>

The date & time when the user was deactivated.

invitation_created_at
string <date-time>

The date & time when the user invitation was sent.

invitation_accepted_at
string <date-time>

The date & time when the user invitation was accepted.

object (UserRelationships)
object
Array of objects (UserGroupRef)
Array
id
string
type
string
Value: "user_groups"
object
object (UserRef)
id
string
type
string
Value: "users"
Array of UserGroup (object) or User (object)
Array
One of
id
string
type
string
Value: "user_groups"
object (UserGroupAttributes)
name
string
description
string
built_in_behavior
string
Enum: "all_users" "all_analysts"

For built-in user groups, this value identifies the behavior of the group:

  • all_users identifies the built-in user group that includes all current and future users in your Cluvio organization.

  • all_analysts identifies the built-in user group that includes all current and future users with role analyst or admin in your Cluvio organization.

The value of built_in_behavior can be used as a user group ID alias to share a dashboard with a combination of built-in and custom groups in the shareDashboard operation.

created_at
string <date-time>

The date & time when the user group was created.

updated_at
string <date-time>

The date & time when the user group was last updated.

object (UserGroupRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "zg6p-xee0-x9jy",
    • "type": "users",
    • "attributes": {
      • "firstname": "string",
      • "lastname": "string",
      • "email": "user@example.com",
      • "role": "viewer",
      • "otp_app_enabled": true,
      • "otp_phone_enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "deactivated_at": "2019-08-24T14:15:22Z",
      • "invitation_created_at": "2019-08-24T14:15:22Z",
      • "invitation_accepted_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        },
      • "invited_by_user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        }
      }
    },
  • "included": [
    • {
      • "id": "9lrp-n7dn-jz1m",
      • "type": "user_groups",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "built_in_behavior": "all_users",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "dashboards": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboards"
              }
            ]
          },
        • "users": {
          • "data": [
            • {
              • "id": "wej2-lzpx-84k3",
              • "type": "users"
              }
            ]
          }
        }
      }
    ]
}

Update User

Update a user's role & user group memberships.

API keys cannot be used to promote a user to admin or to update admin users.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required

User Role & Groups

object
object
role
string
Enum: "analyst" "viewer"
object (UserRelationships)
object
Array of objects (UserGroupRef)
Array
id
string
type
string
Value: "user_groups"

Responses

Response Schema: application/vnd.api+json
object (User)
id
string
type
string
Value: "users"
object (UserAttributes)
firstname
string
lastname
string
email
string <email>
role
string
Enum: "viewer" "analyst" "admin"
otp_app_enabled
boolean

Only present if the API key has Manage Users permission.

otp_phone_enabled
boolean

Only present if the API key has Manage Users permission.

created_at
string <date-time>

The date & time when the user was created.

deactivated_at
string <date-time>

The date & time when the user was deactivated.

invitation_created_at
string <date-time>

The date & time when the user invitation was sent.

invitation_accepted_at
string <date-time>

The date & time when the user invitation was accepted.

object (UserRelationships)
object
Array of objects (UserGroupRef)
Array
id
string
type
string
Value: "user_groups"
object
object (UserRef)
id
string
type
string
Value: "users"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "role": "analyst"
      },
    • "relationships": {
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "zg6p-xee0-x9jy",
    • "type": "users",
    • "attributes": {
      • "firstname": "string",
      • "lastname": "string",
      • "email": "user@example.com",
      • "role": "viewer",
      • "otp_app_enabled": true,
      • "otp_phone_enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "deactivated_at": "2019-08-24T14:15:22Z",
      • "invitation_created_at": "2019-08-24T14:15:22Z",
      • "invitation_accepted_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        },
      • "invited_by_user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        }
      }
    }
}

Deactivate User

A deactivated user is logged out of the Cluvio platform and unable to login until the user is re-activated. Deactivated users do not count toward your organization's subscription plan limits.

Admin users cannot be deactivated via the API.

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Activate User

(Re-)activating a deactivated user allows the user to login and use Cluvio.

A user can only be re-activated as an analyst if your organization's subscription plan has unused analyst seats. To re-activate an analyst user as a viewer, pass the role parameter in the JSON request body.

Admin users can only be re-activated via the API as viewers or analysts.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/json

Activation Parameters

role
string
Enum: "viewer" "analyst"

Responses

Request samples

Content type
application/json
{
  • "role": "viewer"
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Invite User

Invite a user to join your Cluvio organization.

Inviting a user creates a new user account in your Cluvio organization. The new user account is not usable in the Cluvio App until the invitation is accepted.

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/json

Invitation Parameters

email
required
string <email>

The e-mail address to send the invitation to.

role
string
Default: "viewer"
Enum: "viewer" "analyst" "admin"

The role of the invited user.

user_group_ids
Array of strings
Default: []

The custom user group memberships of the invited user.

Responses

Response Schema: application/vnd.api+json
object (User)
id
string
type
string
Value: "users"
object (UserAttributes)
firstname
string
lastname
string
email
string <email>
role
string
Enum: "viewer" "analyst" "admin"
otp_app_enabled
boolean

Only present if the API key has Manage Users permission.

otp_phone_enabled
boolean

Only present if the API key has Manage Users permission.

created_at
string <date-time>

The date & time when the user was created.

deactivated_at
string <date-time>

The date & time when the user was deactivated.

invitation_created_at
string <date-time>

The date & time when the user invitation was sent.

invitation_accepted_at
string <date-time>

The date & time when the user invitation was accepted.

object (UserRelationships)
object
Array of objects (UserGroupRef)
Array
id
string
type
string
Value: "user_groups"
object
object (UserRef)
id
string
type
string
Value: "users"

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "role": "viewer",
  • "user_group_ids": [ ]
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "zg6p-xee0-x9jy",
    • "type": "users",
    • "attributes": {
      • "firstname": "string",
      • "lastname": "string",
      • "email": "user@example.com",
      • "role": "viewer",
      • "otp_app_enabled": true,
      • "otp_phone_enabled": true,
      • "created_at": "2019-08-24T14:15:22Z",
      • "deactivated_at": "2019-08-24T14:15:22Z",
      • "invitation_created_at": "2019-08-24T14:15:22Z",
      • "invitation_accepted_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "user_groups": {
        • "data": [
          • {
            • "id": "qw1x-7w2l-7rd5",
            • "type": "user_groups"
            }
          ]
        },
      • "invited_by_user": {
        • "data": {
          • "id": "wej2-lzpx-84k3",
          • "type": "users"
          }
        }
      }
    }
}

Resend User Invite

Resend an invitation to join your Cluvio organization.

The path parameter is the user's ID.

Authorizations:
ApiKey

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Delete User Invite

Delete a pending user invitation.

The path parameter is the user's ID.

Authorizations:
ApiKey

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

User Groups

Create User Group

Authorizations:
ApiKey
Request Body schema: application/vnd.api+json
required
object
object (UserGroupAttributes)
name
string
description
string
object (UserGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"
object
Array of objects (UserRef)
Array
id
string
type
string
Value: "users"

Responses

Response Schema: application/vnd.api+json
object (UserGroup)
id
string
type
string
Value: "user_groups"
object (UserGroupAttributes)
name
string
description
string
built_in_behavior
string
Enum: "all_users" "all_analysts"

For built-in user groups, this value identifies the behavior of the group:

  • all_users identifies the built-in user group that includes all current and future users in your Cluvio organization.

  • all_analysts identifies the built-in user group that includes all current and future users with role analyst or admin in your Cluvio organization.

The value of built_in_behavior can be used as a user group ID alias to share a dashboard with a combination of built-in and custom groups in the shareDashboard operation.

created_at
string <date-time>

The date & time when the user group was created.

updated_at
string <date-time>

The date & time when the user group was last updated.

object (UserGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"
object
Array of objects (UserRef)
Array
id
string
type
string
Value: "users"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        },
      • "users": {
        • "data": [
          • {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "9lrp-n7dn-jz1m",
    • "type": "user_groups",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "built_in_behavior": "all_users",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        },
      • "users": {
        • "data": [
          • {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          ]
        }
      }
    }
}

List User Groups

Authorizations:
ApiKey

Responses

Response Schema: application/vnd.api+json
Array of objects (UserGroup)
Array
id
string
type
string
Value: "user_groups"
object (UserGroupAttributes)
name
string
description
string
built_in_behavior
string
Enum: "all_users" "all_analysts"

For built-in user groups, this value identifies the behavior of the group:

  • all_users identifies the built-in user group that includes all current and future users in your Cluvio organization.

  • all_analysts identifies the built-in user group that includes all current and future users with role analyst or admin in your Cluvio organization.

The value of built_in_behavior can be used as a user group ID alias to share a dashboard with a combination of built-in and custom groups in the shareDashboard operation.

created_at
string <date-time>

The date & time when the user group was created.

updated_at
string <date-time>

The date & time when the user group was last updated.

object (UserGroupRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "id": "9lrp-n7dn-jz1m",
      • "type": "user_groups",
      • "attributes": {
        • "name": "string",
        • "description": "string",
        • "built_in_behavior": "all_users",
        • "created_at": "2019-08-24T14:15:22Z",
        • "updated_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "dashboards": {
          • "data": [
            • {
              • "id": "8qxn-y9ex-65vd",
              • "type": "dashboards"
              }
            ]
          },
        • "users": {
          • "data": [
            • {
              • "id": "wej2-lzpx-84k3",
              • "type": "users"
              }
            ]
          }
        }
      }
    ]
}

Get User Group

Authorizations:
ApiKey
path Parameters
id
string
query Parameters
include
string
Enum: "users" "dashboards"

[Optional] The relationship objects to include in the response.

Responses

Response Schema: application/vnd.api+json
object (UserGroup)
id
string
type
string
Value: "user_groups"
object (UserGroupAttributes)
name
string
description
string
built_in_behavior
string
Enum: "all_users" "all_analysts"

For built-in user groups, this value identifies the behavior of the group:

  • all_users identifies the built-in user group that includes all current and future users in your Cluvio organization.

  • all_analysts identifies the built-in user group that includes all current and future users with role analyst or admin in your Cluvio organization.

The value of built_in_behavior can be used as a user group ID alias to share a dashboard with a combination of built-in and custom groups in the shareDashboard operation.

created_at
string <date-time>

The date & time when the user group was created.

updated_at
string <date-time>

The date & time when the user group was last updated.

object (UserGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"
object
Array of objects (UserRef)
Array
id
string
type
string
Value: "users"
Array of User (object) or Dashboard (object)
Array
One of
id
string
type
string
Value: "users"
object (UserAttributes)
firstname
string
lastname
string
email
string <email>
role
string
Enum: "viewer" "analyst" "admin"
otp_app_enabled
boolean

Only present if the API key has Manage Users permission.

otp_phone_enabled
boolean

Only present if the API key has Manage Users permission.

created_at
string <date-time>

The date & time when the user was created.

deactivated_at
string <date-time>

The date & time when the user was deactivated.

invitation_created_at
string <date-time>

The date & time when the user invitation was sent.

invitation_accepted_at
string <date-time>

The date & time when the user invitation was accepted.

object (UserRelationships)
object
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "9lrp-n7dn-jz1m",
    • "type": "user_groups",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "built_in_behavior": "all_users",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        },
      • "users": {
        • "data": [
          • {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          ]
        }
      }
    },
  • "included": [
    • {
      • "id": "zg6p-xee0-x9jy",
      • "type": "users",
      • "attributes": {
        • "firstname": "string",
        • "lastname": "string",
        • "email": "user@example.com",
        • "role": "viewer",
        • "otp_app_enabled": true,
        • "otp_phone_enabled": true,
        • "created_at": "2019-08-24T14:15:22Z",
        • "deactivated_at": "2019-08-24T14:15:22Z",
        • "invitation_created_at": "2019-08-24T14:15:22Z",
        • "invitation_accepted_at": "2019-08-24T14:15:22Z"
        },
      • "relationships": {
        • "user_groups": {
          • "data": [
            • {
              • "id": "qw1x-7w2l-7rd5",
              • "type": "user_groups"
              }
            ]
          },
        • "invited_by_user": {
          • "data": {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          }
        }
      }
    ]
}

Update User Group

Authorizations:
ApiKey
path Parameters
id
string
Request Body schema: application/vnd.api+json
required
object
object (UserGroupAttributes)
name
string
description
string
object (UserGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"
object
Array of objects (UserRef)
Array
id
string
type
string
Value: "users"

Responses

Response Schema: application/vnd.api+json
object (UserGroup)
id
string
type
string
Value: "user_groups"
object (UserGroupAttributes)
name
string
description
string
built_in_behavior
string
Enum: "all_users" "all_analysts"

For built-in user groups, this value identifies the behavior of the group:

  • all_users identifies the built-in user group that includes all current and future users in your Cluvio organization.

  • all_analysts identifies the built-in user group that includes all current and future users with role analyst or admin in your Cluvio organization.

The value of built_in_behavior can be used as a user group ID alias to share a dashboard with a combination of built-in and custom groups in the shareDashboard operation.

created_at
string <date-time>

The date & time when the user group was created.

updated_at
string <date-time>

The date & time when the user group was last updated.

object (UserGroupRelationships)
object
Array of objects (DashboardRef)
Array
id
string
type
string
Value: "dashboards"
object
Array of objects (UserRef)
Array
id
string
type
string
Value: "users"

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "attributes": {
      • "name": "string",
      • "description": "string"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        },
      • "users": {
        • "data": [
          • {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          ]
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "id": "9lrp-n7dn-jz1m",
    • "type": "user_groups",
    • "attributes": {
      • "name": "string",
      • "description": "string",
      • "built_in_behavior": "all_users",
      • "created_at": "2019-08-24T14:15:22Z",
      • "updated_at": "2019-08-24T14:15:22Z"
      },
    • "relationships": {
      • "dashboards": {
        • "data": [
          • {
            • "id": "8qxn-y9ex-65vd",
            • "type": "dashboards"
            }
          ]
        },
      • "users": {
        • "data": [
          • {
            • "id": "wej2-lzpx-84k3",
            • "type": "users"
            }
          ]
        }
      }
    }
}

Delete User Group

Authorizations:
ApiKey
path Parameters
id
string

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Export Jobs

Get Export Job

An export job is a background process that exports data into a remote file for download, i.e. a PDF, PNG or ("unlimited") CSV. When an export job finished, a file_url is returned that is valid for a short period of time.

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response Schema: application/json
job_status
string
Enum: "started" "running" "success" "error"
file_url
string

The download URL when the job status is success.

error_message
string

The error message when the job status is error.

Response samples

Content type
application/json
{
  • "job_status": "started",
  • "file_url": "string",
  • "error_message": "string"
}

Cancel Export Job

Authorizations:
ApiKeyApiKeyApiKey

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "code": "422",
      • "detail": "A detailed description of the error."
      }
    ]
}

Result Data

Get Result Data

Authorizations:
DataAccessToken
path Parameters
dataKey
string

Note: The data key is a path containing / characters and should not be URL-encoded.

Responses

Response Schema: application/json
Array of objects (ResultDataField)
Array
idx
integer
name
string
data_type
string (DataType)
Enum: "Boolean" "Integer" "BigInt" "Float" "String" "JSON" "DateTime" "Date" "Time" "Binary" "Internal" "Other" "Record" "BooleanArray" "BinaryArray" "FloatArray" "IntegerArray" "BigIntArray" "RecordArray" "StringArray" "DateArray" "TimeArray" "DateTimeArray" "JSONArray" "OtherArray"
unique_count
integer
human_name
string
min_value
number or string or boolean or null
max_value
number or string or boolean or null
group_by
boolean
rows
Array of numbers or strings or booleans or null (ResultDataRow) [ items ]
execution_id
string <uuid>
data_timestamp
integer <unix-time>
sql_rows
integer
sql_columns
integer
size_in_bytes
integer
time_zone
string

Response samples

Content type
application/json
{
  • "fields": [
    • {
      • "idx": 0,
      • "name": "string",
      • "data_type": "Boolean",
      • "unique_count": 0,
      • "human_name": "string",
      • "min_value": 0,
      • "max_value": 0,
      • "group_by": true
      }
    ],
  • "rows": [
    • [
      • 1,
      • "Hello",
      • true,
      • null
      ]
    ],
  • "execution_id": "02ca5b65-a269-4c45-8d4a-0c74ff3ae670",
  • "data_timestamp": 0,
  • "sql_rows": 0,
  • "sql_columns": 0,
  • "size_in_bytes": 0,
  • "time_zone": "UTC"
}

Schema Data

Get Schema Data

Authorizations:
DataAccessToken
path Parameters
dataKey
string

Note: The data key is a path containing / characters and should not be URL-encoded.

Responses

Response Schema: application/json
One of
Array of objects (SingleSchemaData)
Array
name
string
Array of objects
Array
name
string
Array of objects

Response samples

Content type
application/json
Example
{
  • "schemas": [
    • {
      • "name": "string",
      • "tables": [
        • {
          • "name": "string",
          • "columns": [
            • {
              • "name": "string",
              • "db_type": "string",
              • "data_type": "Boolean"
              }
            ]
          }
        ]
      }
    ]
}