Cluvio API (v2024-06-01)
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.
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
- API server: https://api.eu.cluvio.com/
- Data server: https://data.eu.cluvio.com/
US Servers
- API server: https://api.us.cluvio.com/
- Data server: https://data.us.cluvio.com/
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.
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.
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.
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:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Datasource) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
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
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (DatasourceAgent) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
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) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (DatasourceAgent) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Datasource) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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"
}
]
}
}
}
}
Test Datasource Connection
Tests a datasource connection.
Authorizations:
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 |
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Responses
Response Schema: application/json
execution_id | string <uuid> |
Response samples
- 200
- 403
{- "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:
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 The response will be a single schema JSON when the schema query parameter was used, or full schema JSON otherwise. |
Response samples
- 200
- 403
{- "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:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DatasourceAgentWithSecret) | |||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "name": "string",
- "enabled": true
}
}
}
Response samples
- 201
- 403
- 422
{- "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:
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
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (Datasource) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
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) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (Datasource) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DatasourceAgent) | |||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "name": "string",
- "enabled": true
}
}
}
Response samples
- 200
- 403
- 422
{- "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"
}
]
}
}
}
}
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:
Request Body schema: application/jsonrequired
sql_query required | string The SQL query to run. | ||||||||||||||
r_query | string The R query to run on the SQL results. | ||||||||||||||
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Execution) | |||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "sql_query": "string",
- "r_query": "string",
- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
object (Execution) | |||||||||||||||||||||||||||||
|
Response samples
- 200
- 403
{- "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 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:
Responses
Response Schema: application/json
data_key | string |
data_access_token | string Use as authorization, together with the The response will be JSON (content-type |
data_timestamp | integer <unix-time> |
Response samples
- 200
- 403
- 422
{- "data_key": "string",
- "data_access_token": "string",
- "data_timestamp": 0
}
Create Dashboard
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Dashboard) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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_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:
Responses
Response Schema: application/vnd.api+json
Array of objects (Dashboard) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
- 422
{- "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_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:
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 Including Including |
Responses
Response Schema: application/vnd.api+json
object (Dashboard) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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
|
Response samples
- 200
- 403
{- "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_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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Dashboard) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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_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"
}
]
}
}
}
}
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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
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) | |||||||||||||||
|
Responses
Response Schema: application/json
object | |||||||||||||||||||
| |||||||||||||||||||
object | |||||||||||||||||||
| |||||||||||||||||||
object | |||||||||||||||||||
| |||||||||||||||||||
updated_at | string <date-time> | ||||||||||||||||||
status_check_delay | integer Default: 60 The suggested delay before the next status check. |
Request samples
- Payload
{- "refresh_data": false,
- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/json
job_id | string The ID of the export job that is rendering the PDF. |
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/json
job_id | string The ID of the export job that is rendering the PNG. |
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}
Duplicate Dashboard
The duplicated dashboard contains a copy of the original dashboard's reports.
Authorizations:
Responses
Response Schema: application/vnd.api+json
object (Dashboard) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Response samples
- 201
- 403
- 422
{- "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_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:
Request Body schema: application/jsonrequired
Array of objects (DashboardLayout) | |||||||||||||
Array
| |||||||||||||
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
- Payload
{- "layout": [
- {
- "type": "report",
- "id": "string",
- "row": 0,
- "column": 0,
- "width": 0,
- "height": 0
}
], - "floating_enabled": true
}
Response samples
- 403
- 422
{- "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:
Responses
Response Schema: application/json
The dashboard backup JSON.
Response samples
- 200
- 403
- 422
{ }
Create Dashboard Group
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DashboardGroup) | |||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "name": "string",
- "description": "string"
}, - "relationships": {
- "dashboards": {
- "data": [
- {
- "id": "8qxn-y9ex-65vd",
- "type": "dashboards"
}
]
}
}
}
}
Response samples
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (DashboardGroup) | |||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
query Parameters
include | string Value: "dashboards" [Optional] The relationship objects to include in the |
Responses
Response Schema: application/vnd.api+json
object (DashboardGroup) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (Dashboard) The optionally included relationship objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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_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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DashboardGroup) | |||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "name": "string",
- "description": "string"
}, - "relationships": {
- "dashboards": {
- "data": [
- {
- "id": "8qxn-y9ex-65vd",
- "type": "dashboards"
}
]
}
}
}
}
Response samples
- 200
- 403
- 422
{- "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"
}
]
}
}
}
}
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:
Request Body schema: application/jsonrequired
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
- Payload
{- "dashboard_group_ids": [
- "string"
]
}
Response samples
- 403
{- "errors": [
- {
- "code": "422",
- "detail": "A detailed description of the error."
}
]
}
Create Dashboard Schedule
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DashboardSchedule) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (DashboardSchedule) | |||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
query Parameters
include | string Enum: "dashboard" "report" [Optional] The relationship objects to include in the |
Responses
Response Schema: application/vnd.api+json
object (DashboardSchedule) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of Dashboard (object) or Report (object) The optionally included relationship objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array One of
|
Response samples
- 200
- 403
{- "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_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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DashboardSchedule) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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"
}
}
}
}
}
Create Dashboard Sharing Link
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DashboardSharingLink) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "name": "string",
- "description": "string",
- "toolbar_enabled": true,
- "parameters_enabled": false,
- "filter_bar_enabled": false,
- "refresh_enabled": false,
- "data_download_enabled": true,
- "unlimited_csv_export_enabled": false,
- "sharing_secret_required": false,
- "sharing_password": "string",
- "color_mode": "light",
- "ip_whitelist": "52.58.9.34,52.58.26.238,52.58.98.150"
}, - "relationships": {
- "dashboard": {
- "data": {
- "id": "8qxn-y9ex-65vd",
- "type": "dashboards"
}
}
}
}
}
Response samples
- 201
- 403
- 422
{- "data": {
- "id": "string",
- "type": "dashboard_sharing_links",
- "attributes": {
- "name": "string",
- "description": "string",
- "token": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "toolbar_enabled": true,
- "parameters_enabled": false,
- "filter_bar_enabled": false,
- "refresh_enabled": false,
- "data_download_enabled": true,
- "unlimited_csv_export_enabled": false,
- "sharing_secret_required": false,
- "sharing_password": "string",
- "color_mode": "light",
- "ip_whitelist": "52.58.9.34,52.58.26.238,52.58.98.150"
}, - "relationships": {
- "dashboard": {
- "data": {
- "id": "8qxn-y9ex-65vd",
- "type": "dashboards"
}
}
}
}
}
List Dashboard Sharing Links
Authorizations:
Responses
Response Schema: application/vnd.api+json
Array of objects (DashboardSharingLink) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "data": [
- {
- "id": "string",
- "type": "dashboard_sharing_links",
- "attributes": {
- "name": "string",
- "description": "string",
- "token": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "toolbar_enabled": true,
- "parameters_enabled": false,
- "filter_bar_enabled": false,
- "refresh_enabled": false,
- "data_download_enabled": true,
- "unlimited_csv_export_enabled": false,
- "sharing_secret_required": false,
- "sharing_password": "string",
- "color_mode": "light",
- "ip_whitelist": "52.58.9.34,52.58.26.238,52.58.98.150"
}, - "relationships": {
- "dashboard": {
- "data": {
- "id": "8qxn-y9ex-65vd",
- "type": "dashboards"
}
}
}
}
]
}
Get Dashboard Sharing Link
Authorizations:
path Parameters
id | string |
query Parameters
include | string Value: "dashboard" [Optional] The relationship objects to include in the |
Responses
Response Schema: application/vnd.api+json
object (DashboardSharingLink) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (Dashboard) The optionally included relationship objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "data": {
- "id": "string",
- "type": "dashboard_sharing_links",
- "attributes": {
- "name": "string",
- "description": "string",
- "token": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "toolbar_enabled": true,
- "parameters_enabled": false,
- "filter_bar_enabled": false,
- "refresh_enabled": false,
- "data_download_enabled": true,
- "unlimited_csv_export_enabled": false,
- "sharing_secret_required": false,
- "sharing_password": "string",
- "color_mode": "light",
- "ip_whitelist": "52.58.9.34,52.58.26.238,52.58.98.150"
}, - "relationships": {
- "dashboard": {
- "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_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 Sharing Link
Authorizations:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (DashboardSharingLink) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "name": "string",
- "description": "string",
- "toolbar_enabled": true,
- "parameters_enabled": false,
- "filter_bar_enabled": false,
- "refresh_enabled": false,
- "data_download_enabled": true,
- "unlimited_csv_export_enabled": false,
- "sharing_secret_required": false,
- "sharing_password": "string",
- "color_mode": "light",
- "ip_whitelist": "52.58.9.34,52.58.26.238,52.58.98.150"
}
}
}
Response samples
- 201
- 403
- 422
{- "data": {
- "id": "string",
- "type": "dashboard_sharing_links",
- "attributes": {
- "name": "string",
- "description": "string",
- "token": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "toolbar_enabled": true,
- "parameters_enabled": false,
- "filter_bar_enabled": false,
- "refresh_enabled": false,
- "data_download_enabled": true,
- "unlimited_csv_export_enabled": false,
- "sharing_secret_required": false,
- "sharing_password": "string",
- "color_mode": "light",
- "ip_whitelist": "52.58.9.34,52.58.26.238,52.58.98.150"
}, - "relationships": {
- "dashboard": {
- "data": {
- "id": "8qxn-y9ex-65vd",
- "type": "dashboards"
}
}
}
}
}
Create Report
To create a report, the API key must have access to the report's datasource.
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Report) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (Report) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
query Parameters
include | string Enum: "dashboard" "datasource" [Optional] The relationship objects to include in the Including |
Responses
Response Schema: application/vnd.api+json
object (Report) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of Dashboard (object) or Datasource (object) The optionally included relationship objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array One of
|
Response samples
- 200
- 403
{- "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_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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Report) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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"
}
}
}
}
}
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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/json
execution_id | integer <uuid> The ID of the report query execution. |
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
{- "execution_id": 0
}
Duplicate Report
The duplicated report is created on the same dashboard.
Authorizations:
Responses
Response Schema: application/vnd.api+json
object (Report) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Response samples
- 201
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
| |||||||||||||||
data_format | string Default: "json" Enum: "json" "csv" | ||||||||||||||
csv_column_separator | string Enum: "," ";" "\t" The CSV column separator to use for data format 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 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 Defaults to the quote style in the organization's settings, which itself
defaults to |
Responses
Response Schema: application/json
data_key | string |
data_access_token | string Use as authorization, together with The response will be JSON (content-type |
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/json
job_id | string The ID of the export job that is rendering the PDF. |
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/json
job_id | string The ID of the export job that is rendering the PNG. |
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/jsonrequired
object (InputParameters) | |||||||||||||||
|
Responses
Response Schema: application/json
job_id | string The ID of the export job that is creating the CSV. |
Request samples
- Payload
{- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
- 422
{- "job_id": "1772be40-28c3-47aa-8cfb-41a2ca57646b"
}
Create Filter
To create SQL drop-down filters, the API key must have access to the filter's datasource.
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Filter) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (Filter) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
query Parameters
include | string Enum: "datasource" "sql_snippets" "parent_filter" [Optional] The relationship objects to include in the Including |
Responses
Response Schema: application/vnd.api+json
object (Filter) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of Datasource (object) or SqlSnippet (object) or Filter (object) The optionally included relationship objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array One of
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (Filter) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Responses
Response samples
- 403
- 422
{- "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:
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. | |||||||||||||||
|
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 | |||||||
|
Request samples
- Payload
{- "dashboard_id": "string",
- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
{- "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:
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. | |||||||||||||||
|
Responses
Response Schema: application/json
execution_id | integer <uuid> The ID of the filter query execution. |
Request samples
- Payload
{- "dashboard_id": "string",
- "parameters": {
- "timerange": "1712233090~1712237090",
- "aggregation": "second",
- "tz": "Europe/Berlin",
- "filters": [
- {
- "variable_name": "string",
- "selected_values": [
- 0
]
}
]
}
}
Response samples
- 200
- 403
{- "execution_id": 0
}
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:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (SqlSnippet) | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (SqlSnippet) | |||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
query Parameters
include | string Enum: "datasource" "sql_snippets" [Optional] The relationship objects to include in the Including |
Responses
Response Schema: application/vnd.api+json
object (SqlSnippet) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of Datasource (object) or SqlSnippet (object) The optionally included relationship objects. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array One of
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (SqlSnippet) | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Responses
Response samples
- 403
- 422
{- "errors": [
- {
- "code": "422",
- "detail": "A detailed description of the error."
}
]
}
Create SQL Alert
To create a SQL alert, the API key must have access to the alert's datasource.
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (SqlAlert) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (SqlAlert) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
query Parameters
include | string Value: "datasource" [Optional] The relationship objects to include in the Including |
Responses
Response Schema: application/vnd.api+json
object (SqlAlert) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of objects (Datasource) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (SqlAlert) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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"
}
}
}
}
}
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:
path Parameters
id | string |
Responses
Response Schema: application/json
execution_id | string <uuid> |
Response samples
- 200
- 403
- 422
{- "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:
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 | ||||||||||
count | integer The total number of results available. | ||||||||||
Array of objects (SqlAlertResult) The alert results, ordered by creation date (descending). | |||||||||||
Array
|
Response samples
- 200
- 403
- 422
{- "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"
}
]
}
List Users
List all users.
Authorizations:
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
| |||||||||||||||||||||||||||||||||||||
Array of objects (UserGroup) | |||||||||||||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
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) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array of UserGroup (object) or User (object) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Array One of
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
User Role & Groups
object | |||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (User) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "data": {
- "attributes": {
- "role": "analyst"
}, - "relationships": {
- "user_groups": {
- "data": [
- {
- "id": "qw1x-7w2l-7rd5",
- "type": "user_groups"
}
]
}
}
}
}
Response samples
- 200
- 403
- 422
{- "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:
path Parameters
id | string |
Responses
Response samples
- 403
- 422
{- "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:
path Parameters
id | string |
Request Body schema: application/json
Activation Parameters
role | string Enum: "viewer" "analyst" |
Responses
Request samples
- Payload
{- "role": "viewer"
}
Response samples
- 403
- 422
{- "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:
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) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "email": "user@example.com",
- "role": "viewer",
- "user_group_ids": [ ]
}
Response samples
- 201
- 403
{- "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"
}
}
}
}
}
Create User Group
Authorizations:
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (UserGroup) | |||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 201
- 403
- 422
{- "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:
Responses
Response Schema: application/vnd.api+json
Array of objects (UserGroup) | |||||||||||||||||||||||||||
Array
|
Response samples
- 200
- 403
{- "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:
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) | |||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
Array of User (object) or Dashboard (object) | |||||||||||||||||||||||||||||||||||||||||||||||
Array One of
|
Response samples
- 200
- 403
{- "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:
path Parameters
id | string |
Request Body schema: application/vnd.api+jsonrequired
object | |||||||||||||||||||||||||||||||||||||
|
Responses
Response Schema: application/vnd.api+json
object (UserGroup) | |||||||||||||||||||||||||||||||||||||||||||||||
|
Request samples
- Payload
{- "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
- 200
- 403
- 422
{- "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 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:
Responses
Response Schema: application/json
job_status | string Enum: "started" "running" "success" "error" |
file_url | string The download URL when the job status is |
error_message | string The error message when the job status is |
Response samples
- 200
- 403
- 422
{- "job_status": "started",
- "file_url": "string",
- "error_message": "string"
}
Get Result Data
Authorizations:
path Parameters
dataKey | string Note: The data key is a path containing |
Responses
Response Schema: application/json
Array of objects (ResultDataField) | |||||||||||||||||
Array
| |||||||||||||||||
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
- 200
- 403
{- "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"
}
Get Schema Data
Authorizations:
path Parameters
dataKey | string Note: The data key is a path containing |
Responses
Response Schema: application/json
Array of objects (SingleSchemaData) | |||||||||||
Array
|
Response samples
- 200
- 403
{- "schemas": [
- {
- "name": "string",
- "tables": [
- {
- "name": "string",
- "columns": [
- {
- "name": "string",
- "db_type": "string",
- "data_type": "Boolean"
}
]
}
]
}
]
}