Atoti REST services (6.1.15-SNAPSHOT)

Download OpenAPI specification:Download

Database REST API

Implementation of the REST API controller for an ActivePivot database.

Create a new branch.

Create a new branch by doing an empty commit on a new branch without any data change. The new branch is a fork identical to the parent branch. The permissions can also be set on creation.

Request Body schema: application/json

Branch to create.

expectedEpoch
integer <int64>
name
string
parent
string
object (JsonBranchPermissions)

Responses

Request samples

Content type
application/json

Success

Loading...

Response samples

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

Delete a branch.

Delete a branch. Requires to be owner of the branch.

path Parameters
branch
required
string

Desired branch name.

Responses

Response samples

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

Fast-forward a branch to another one.

Fast-forward a branch to another one. The fast-forwarded branch is moved to the target head. It can only be done if the target has been forked from the branch and no new commit happened on the branch since. This requires owner permissions on the branch that is fast-forwarded and read permissions on the target.

path Parameters
branch
required
string

Desired branch name.

query Parameters
fastForward
required
string

The name of the target branch where this branch will be fast forwarded.

Responses

Response samples

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

Update the permissions of a branch.

Update the security of a branch. Permissions can be a user name, a role or the constant string ALL_USERS for all users. Requires to be owner of the branch.

path Parameters
branch
required
string

Desired branch name.

Request Body schema: application/json

Permissions to set for the branch.

owners
Array of strings unique
readers
Array of strings unique

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

Update the database.

Update a database by removing, adding or updating facts in the specified branch.

path Parameters
branch
required
string

Desired branch name.

Request Body schema: application/json

Update content in JSON format.

Array of objects (JsonDatabaseAction)
object (JsonDatabaseEditContext)
expectedEpoch
integer <int64>

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

Execute a query on the database via GET method.

Execute a query on the database, on a given table, via GET method. The query can be paginated using the parameters page and pageSize.

path Parameters
tableName
required
string

Desired table name.

query Parameters
branch
string

The branch on which to retrieve rows. Default is master branch.

epoch
integer <int64>
Default: -1

The epoch on which to retrieve rows. Default is latest.

pageSize
integer <int32>
Default: 20

The maximum number of rows in the page. Default is 100.

page
integer <int32>
Default: 1

The page to return. First page (and default) is 1.

fields
Array of strings

The fields (columns) of the rows to retrieve, separated by commas. If not specified, all the fields are returned.

Responses

Response samples

Content type
application/json

Success

Loading...

Execute a query on the database.

Execute a query on the database, on a given table, via POST method. The query can be paginated using the parameters page and pageSize.

path Parameters
tableName
required
string

Desired table name.

query Parameters
queryAction
required
string
Enum: "count" "select"

Action flag to indicate a query on this table.

page
integer <int32>

The page to return. First page (and default) is 1.

pageSize
integer <int32>

The maximum number of rows in the page. Default is 100.

query
string
Default: "ignored"
Request Body schema: application/json

Query parameters in JSON format.

branch
string
conditions
object (JsonNode)
distinct
boolean
epoch
integer <int64>
fields
Array of strings
page
integer <int32>
pageSize
integer <int32>
timeout
integer <int64>

Responses

Request samples

Content type
application/json

Success

Loading...

Response samples

Content type
application/json

Success

Loading...

Get the full description of the database.

Get the full description of the database : tables, joins and branches.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of all the branches.

Get the description of all the branches. Only shows branches where the current user has read permissions.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of a branch.

Get the description of a specific branch.

path Parameters
branch
required
string

Desired branch name.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of all joins.

Get the description of all the visible joins in the database.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get the joins of a table.

Get the joins of the provided owner table name.

path Parameters
ownerTable
required
string

Owner table name.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the separator.

Get the separator used to concatenate the elements of a field path into a String.

Responses

Response samples

Content type
text/plain

Success

Loading...

Get the table names.

Get the table names that exist in the database.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of all the tables.

Get the description of all the tables in the database visible to the current user.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of the table.

Get the description of the given table name.

path Parameters
tableName
required
string

Desired table name.

Responses

Response samples

Content type
application/json
{
  • "canDelete": true,
  • "canEdit": true,
  • "canInsert": true,
  • "fields": [
    ],
  • "keyFields": [
    ]
}

Retrieve size of a table.

Retrieve size of the selected table.

path Parameters
tableName
required
string

Desired table name.

Responses

Response samples

Content type
application/json
0
0

XMLA API

XML for Analysis (XMLA) endpoint for executing MDX queries and OLAP discovery operations.

This endpoint implements the XMLA protocol which is used by:

  • Microsoft Excel and other OLAP clients
  • Custom BI tools that support XMLA connectivity

The endpoint supports both text XML and binary XML formats for improved performance.

Execute XMLA request

Processes XMLA (XML for Analysis) requests for MDX query execution and OLAP metadata discovery.

This endpoint handles two types of XMLA operations:

  • Execute: Runs MDX queries against the OLAP cubes and returns cell data
  • Discover: Retrieves metadata about available cubes, dimensions, hierarchies, measures, etc.

The request body must be a valid XMLA SOAP envelope. The response format depends on content negotiation headers and can be returned as:

  • Standard XML (text/xml or application/xml)
  • Binary XML (for improved performance with compatible clients)
  • Compressed responses (when supported by the client)

Session management is supported through XMLA session headers for maintaining context across multiple requests.

Responses

Query REST API (V10)

Definition of REST API to query data from ActivePivot (V10).

Queries the cube using an MDX query (either SELECT or DRILLTHROUGH).

Executes the given MDX query and returns the result.

Request Body schema: application/json

The MDX query to execute.

object
mdx
string

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "mdx": "string"
}

Gets the possible column headers for a given drillthrough MDX query. The request has the same format as the request for the actual drillthrough query, just the URL changes.

Executes the given MDX query and returns only the query plan.

Request Body schema: application/json

The MDX query for query plan inspection.

object
mdx
string
queriesTimeLimit
string

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "mdx": "string",
  • "queriesTimeLimit": "string"
}

Gets the query plans for an MDX SELECT query. Note that the given MDX is run and the result is computed but only the query plans are returned.

Executes the given MDX SELECT query and returns only the query plan. Each query plan includes its underlying MDX pass. Pass naming convention: all passes except Sub-Select are named SelectPass_PassId.

query Parameters
mdx
required
string

The query to run

timeout
integer <int32>

The query timeout limit in seconds.

asSummary
string
Default: "false"

Whether ask for a summary or full query plan export.

Responses

Gets the query plans for an MDX SELECT query. Note that the given MDX is run and the result is computed but only the query plans are returned.

Executes the given MDX query and returns only the query plan.

Request Body schema: application/json

The MDX query for query plan inspection.

object
mdx
string
queriesTimeLimit
string

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "mdx": "string",
  • "queriesTimeLimit": "string"
}

Lists all running queries on a specific cube

Returns a list of all currently running queries on the specified cube.

Availability: This endpoint is only available in version 10, revision 2 of the Pivot API. It is not available in version 9.

path Parameters
cubeName
required
string

The name of the cube

Responses

Cancels a running query by its ID on a specific cube (Experimental).

Terminates the execution of a specific query identified by its query ID on the specified cube.

The query must be running on the specified cube for the cancellation to succeed.

Experimental: This endpoint is experimental and may change in future releases.

path Parameters
cubeName
required
string

The name of the cube

queryId
required
integer <int64>

The ID of the query to cancel

Responses

Cancels all running queries on a cube.

Terminates the execution of all currently running queries on the specified cube.

path Parameters
cubeName
required
string

The name of the cube

Responses

Query REST API (V9)

Definition of REST API to query data from ActivePivot (V9).

Queries the cube using an MDX query (either SELECT or DRILLTHROUGH).

Executes the given MDX query and returns the result.

Request Body schema: application/json

The MDX query to execute.

object
mdx
string

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "mdx": "string"
}

Gets the possible column headers for a given drillthrough MDX query. The request has the same format as the request for the actual drillthrough query, just the URL changes.

Executes the given MDX query and returns only the query plan.

Request Body schema: application/json

The MDX query for query plan inspection.

object
mdx
string
queriesTimeLimit
string

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "mdx": "string",
  • "queriesTimeLimit": "string"
}

Gets the query plans for an MDX SELECT query. Note that the given MDX is run and the result is computed but only the query plans are returned.

Executes the given MDX SELECT query and returns only the query plan. Each query plan includes its underlying MDX pass. Pass naming convention: all passes except Sub-Select are named SelectPass_PassId.

query Parameters
mdx
required
string

The query to run

timeout
integer <int32>

The query timeout limit in seconds.

asSummary
string
Default: "false"

Whether ask for a summary or full query plan export.

Responses

Gets the query plans for an MDX SELECT query. Note that the given MDX is run and the result is computed but only the query plans are returned.

Executes the given MDX query and returns only the query plan.

Request Body schema: application/json

The MDX query for query plan inspection.

object
mdx
string
queriesTimeLimit
string

Responses

Request samples

Content type
application/json
{
  • "context": {
    },
  • "mdx": "string",
  • "queriesTimeLimit": "string"
}

Bulk REST API

Implementation of the REST Bulk API of the content server.

A specialized version of the DELETE method that deletes atomically all the given entries.

If a path matches a directory, the directory all its sub-entries will also be deleted. If the last element of a path is a wildcard (*), all the entries within the parent directory will be deleted, leaving an empty directory.

query Parameters
throwNotFoundParam
required
string
Default: "true"
Enum: "false" "true"

When set to False, the "Not Found" errors are silently ignored.

throwNotFound
string
Default: "true"
Request Body schema: application/json

Serialized JSON parameter containing the entries to delete.

Array
string

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

A specialized version of the GET method that retrieves the structure and the content of several entries.

Allows atomic retrieval of the structure and, if needed, the content of the subtrees with roots and heights specified by path and recursion parameters of the entries, respectively. For each path the corresponding subtree height must be specified; if the height is less or equal to zero only the root itself is returned. For file entries the height should be less or equal to zero.

query Parameters
throwNotFoundParam
required
string
Default: "true"
Enum: "false" "true"

When set to False, the "Not Found" errors are silently ignored.

includeContentParam
required
string
Default: "true"
Enum: "false" "true"

When set, the content of the retrieved files is included in the response.

throwNotFound
string
Default: "true"
includeContent
string
Default: "true"
Request Body schema: application/json

Serialized JSON parameter containing the entries to depth map.

property name*
additional property
integer <int32>

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

A specialized version of the POST method that tries to move atomically all the given entries.

For each underlying move, if the target path refers to an existing directory, the entry is moved with its current name to the existing directory. Otherwise, the entry is renamed and moved to the target path. If intermediate directories are missing in the target paths, they will be created using the current user as the owner and reader.

query Parameters
throwNotFoundParam
required
string
Default: "true"
Enum: "false" "true"

When set to False, the "Not Found" errors are silently ignored.

throwNotFound
string
Default: "true"
Request Body schema: application/json

Serialized JSON parameter containing the entries to be moved in the form of source-to-target path mapping

string

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

A specialized version of the PUT method that tries to create or update multiple files atomically.

This method does not allow to create directories. The contents of all provided entries must be non null. Either all the entries or none of them are updated. The "throwNotFound" mode for this operation doesn't exist, because "Not Found" error is never encountered.

Request Body schema: application/json

Serialized JSON parameter containing the entries to add or update specified by path to content map and access permissions.

overwrite
boolean
owners
Array of strings
object
readers
Array of strings
recursive
boolean

Responses

Request samples

Content type
application/json
null

A specialized version of the DELETE method that deletes atomically all the given entries.

If a path matches a directory, the directory all its sub-entries will also be deleted. If the last element of a path is a wildcard (*), all the entries within the parent directory will be deleted, leaving an empty directory.

query Parameters
throwNotFoundParam
required
string
Default: "true"
Enum: "false" "true"

When set to False, the "Not Found" errors are silently ignored.

throwNotFound
string
Default: "true"
Request Body schema: application/json

Serialized JSON parameter containing the entries to delete.

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • "string"
]

A specialized version of the GET method that retrieves the structure and the content of several entries.

Allows atomic retrieval of the structure and, if needed, the content of the subtrees with roots and heights specified by path and recursion parameters of the entries, respectively. For each path the corresponding subtree height must be specified; if the height is less or equal to zero only the root itself is returned. For file entries the height should be less or equal to zero.

query Parameters
throwNotFoundParam
required
string
Default: "true"
Enum: "false" "true"

When set to False, the "Not Found" errors are silently ignored.

includeContentParam
required
string
Default: "true"
Enum: "false" "true"

When set, the content of the retrieved files is included in the response.

throwNotFound
string
Default: "true"
includeContent
string
Default: "true"
Request Body schema: application/json

Serialized JSON parameter containing the entries to depth map.

property name*
additional property
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "property1": 0,
  • "property2": 0
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

A specialized version of the POST method that tries to move atomically all the given entries.

For each underlying move, if the target path refers to an existing directory, the entry is moved with its current name to the existing directory. Otherwise, the entry is renamed and moved to the target path. If intermediate directories are missing in the target paths, they will be created using the current user as the owner and reader.

query Parameters
throwNotFoundParam
required
string
Default: "true"
Enum: "false" "true"

When set to False, the "Not Found" errors are silently ignored.

throwNotFound
string
Default: "true"
Request Body schema: application/json

Serialized JSON parameter containing the entries to be moved in the form of source-to-target path mapping

string

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
[
  • "string"
]

A specialized version of the PUT method that tries to create or update multiple files atomically.

This method does not allow to create directories. The contents of all provided entries must be non null. Either all the entries or none of them are updated. The "throwNotFound" mode for this operation doesn't exist, because "Not Found" error is never encountered.

Request Body schema: application/json

Serialized JSON parameter containing the entries to add or update specified by path to content map and access permissions.

overwrite
boolean
owners
Array of strings
object
readers
Array of strings
recursive
boolean

Responses

Request samples

Content type
application/json
{
  • "overwrite": true,
  • "owners": [
    ],
  • "pathToContent": {
    },
  • "readers": [
    ],
  • "recursive": true
}

Change permissions for multiple entries atomically.

Allows atomic update of owners and readers for multiple entries. Either all entries are updated or none. If 'throwNotFound' is false, missing entries are ignored. The 'mode' parameter controls how permissions are updated: REPLACE (default) replaces existing permissions, UPSERT adds to existing permissions, and REMOVE removes from existing permissions.

query Parameters
throwNotFoundParam
required
boolean
Default: true
Enum: "false" "true"

When set to False, the 'Not Found' errors are silently ignored.

throwNotFound
boolean
Default: true
Request Body schema: application/json

Serialized JSON parameter containing the entries to change permissions for, the new permissions, and the mode (REPLACE, UPSERT, or DELETE).

mode
string
owners
Array of strings
paths
Array of strings
readers
Array of strings

Responses

Request samples

Content type
application/json
{
  • "mode": "string",
  • "owners": [
    ],
  • "paths": [
    ],
  • "readers": [
    ]
}

Response samples

Content type
application/json
[
  • "string"
]

Content Server REST API

Implementation of the REST API of the content server.

Deletes an entry from the content server.

If the path is a directory all its sub-entries will also be deleted. If the last element of the path is a wildcard (*), all the entries within the parent directory will be deleted, leaving an empty directory.

query Parameters
path
required
string
Default: "/"

he path to apply the operation to.

Responses

Retrieves the entry found at the given path.

If the entry is a directory, lists all its accessible children recursively by default.

query Parameters
path
required
string
Default: "/"

he path to apply the operation to.

recursiveParam
required
string
Default: "-1"

If the path is a directory, the maximum depth at which to retrieve children. -1 means that all available children are retrieved, 0 means that only the directory itself is retrieved.

includeContentParam
required
string
Default: "true"
Enum: "false" "true"

When set, the content of the retrieved file is included in the response.

recursive
string
Default: "-1"
includeContent
string
Default: "true"

Responses

Response samples

Content type
application/json
null

Performs an operation on the content service.

The default operation creates a new entry under the current path with an auto-generated name.

query Parameters
path
required
string
Default: "/"

The path to apply the operation to.

moveCommand
required
string
Default: "ignored"

Whether we should move the target entry.

importCommand
required
string
Default: "ignored"

Whether this is an import command. The path is used as a prefix.

move
string
Default: "ignored"
import
string
Default: "ignored"
Request Body schema: application/json

The JSON parameters for the operation.

string

Responses

Request samples

Content type
application/json
null

Response samples

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

Creates an entry at the given path or updates an existing one.

If the permissions parameter is set, only the permissions of the entry are updated.

query Parameters
path
required
string
Default: "/"

The path to apply the operation to.

permissionsParam
required
string
Default: "ignored"

Whether only the permissions should be updated.

permissions
string
Default: "ignored"
Request Body schema: application/json

The JSON parameters for the operation.

string

Responses

Request samples

Content type
application/json
null

Deletes an entry from the content server.

If the path is a directory all its sub-entries will also be deleted. If the last element of the path is a wildcard (*), all the entries within the parent directory will be deleted, leaving an empty directory.

query Parameters
path
required
string
Default: "/"

he path to apply the operation to.

Responses

Retrieves the entry found at the given path.

If the entry is a directory, lists all its accessible children recursively by default.

query Parameters
path
required
string
Default: "/"

he path to apply the operation to.

recursiveParam
required
string
Default: "-1"

If the path is a directory, the maximum depth at which to retrieve children. -1 means that all available children are retrieved, 0 means that only the directory itself is retrieved.

includeContentParam
required
string
Default: "true"
Enum: "false" "true"

When set, the content of the retrieved file is included in the response.

recursive
string
Default: "-1"
includeContent
string
Default: "true"

Responses

Response samples

Content type
application/json
null

Performs an operation on the content service.

The default operation creates a new entry under the current path with an auto-generated name.

query Parameters
path
required
string
Default: "/"

The path to apply the operation to.

moveCommand
required
string
Default: "ignored"

Whether we should move the target entry.

importCommand
required
string
Default: "ignored"

Whether this is an import command. The path is used as a prefix.

move
string
Default: "ignored"
import
string
Default: "ignored"
Request Body schema: application/json

The JSON parameters for the operation.

string

Responses

Request samples

Content type
application/json
null

Response samples

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

Creates an entry at the given path or updates an existing one.

If the permissions parameter is set, only the permissions of the entry are updated.

query Parameters
path
required
string
Default: "/"

The path to apply the operation to.

permissionsParam
required
string
Default: "ignored"

Whether only the permissions should be updated.

permissions
string
Default: "ignored"
Request Body schema: application/json

The JSON parameters for the operation.

string

Responses

Request samples

Content type
application/json
null

Database REST API v9

Implementation of the REST API controller for an ActivePivot database.

Create a new branch.

Create a new branch by doing an empty commit on a new branch without any data change. The new branch is a fork identical to the parent branch. The permissions can also be set on creation.

Request Body schema: application/json

Branch to create.

expectedEpoch
integer <int64>
name
string
parent
string
object (JsonBranchPermissions)

Responses

Request samples

Content type
application/json

Success

Loading...

Response samples

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

Delete a branch.

Delete a branch. Requires to be owner of the branch.

path Parameters
branch
required
string

Desired branch name.

Responses

Response samples

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

Fast-forward a branch to another one.

Fast-forward a branch to another one. The fast-forwarded branch is moved to the target head. It can only be done if the target has been forked from the branch and no new commit happened on the branch since. This requires owner permissions on the branch that is fast-forwarded and read permissions on the target.

path Parameters
branch
required
string

Desired branch name.

query Parameters
fastForward
required
string

The name of the target branch where this branch will be fast forwarded.

Responses

Response samples

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

Update the permissions of a branch.

Update the security of a branch. Permissions can be a user name, a role or the constant string ALL_USERS for all users. Requires to be owner of the branch.

path Parameters
branch
required
string

Desired branch name.

Request Body schema: application/json

Permissions to set for the branch.

owners
Array of strings unique
readers
Array of strings unique

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

Update the database.

Update a database by removing, adding or updating facts in the specified branch.

path Parameters
branch
required
string

Desired branch name.

Request Body schema: application/json

Update content in JSON format.

Array of objects (JsonDatabaseAction)
object (JsonDatabaseEditContext)
expectedEpoch
integer <int64>

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
null

Execute a query on the database via GET method.

Execute a query on the database, on a given table, via GET method. The query can be paginated using the parameters page and pageSize.

path Parameters
tableName
required
string

Desired table name.

query Parameters
branch
string

The branch on which to retrieve rows. Default is master branch.

epoch
integer <int64>
Default: -1

The epoch on which to retrieve rows. Default is latest.

pageSize
integer <int32>
Default: 20

The maximum number of rows in the page. Default is 100.

page
integer <int32>
Default: 1

The page to return. First page (and default) is 1.

fields
Array of strings

The fields (columns) of the rows to retrieve, separated by commas. If not specified, all the fields are returned.

Responses

Response samples

Content type
application/json

Success

Loading...

Execute a query on the database.

Execute a query on the database, on a given table, via POST method. The query can be paginated using the parameters page and pageSize.

path Parameters
tableName
required
string

Desired table name.

query Parameters
queryAction
required
string
Enum: "count" "select"

Action flag to indicate a query on this table.

page
integer <int32>

The page to return. First page (and default) is 1.

pageSize
integer <int32>

The maximum number of rows in the page. Default is 100.

query
string
Default: "ignored"
Request Body schema: application/json

Query parameters in JSON format.

branch
string
conditions
object (JsonNode)
distinct
boolean
epoch
integer <int64>
fields
Array of strings
page
integer <int32>
pageSize
integer <int32>
timeout
integer <int64>

Responses

Request samples

Content type
application/json

Success

Loading...

Response samples

Content type
application/json

Success

Loading...

Get the full description of the database.

Get the full description of the database : tables, joins and branches.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of all the branches.

Get the description of all the branches. Only shows branches where the current user has read permissions.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of a branch.

Get the description of a specific branch.

path Parameters
branch
required
string

Desired branch name.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of all joins.

Get the description of all the visible joins in the database.

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get the joins of a table.

Get the joins of the provided owner table name.

path Parameters
ownerTable
required
string

Owner table name.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the separator.

Get the separator used to concatenate the elements of a field path into a String.

Responses

Response samples

Content type
text/plain

Success

Loading...

Get the table names.

Get the table names that exist in the database.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of all the tables.

Get the description of all the tables in the database visible to the current user.

Responses

Response samples

Content type
application/json

Success

Loading...

Get the description of the table.

Get the description of the given table name.

path Parameters
tableName
required
string

Desired table name.

Responses

Response samples

Content type
application/json
{
  • "canDelete": true,
  • "canEdit": true,
  • "canInsert": true,
  • "fields": [
    ],
  • "keyFields": [
    ]
}

Retrieve size of a table.

Retrieve size of the selected table.

path Parameters
tableName
required
string

Desired table name.

Responses

Response samples

Content type
application/json
0
0

Version REST API

Definition of the REST service returning the list of services exposed by an application.

Get all deployed APIs and their versions.

Gets a listing of all APIs and their versions deployed by this application.

query Parameters
includeRevision
boolean
Default: false

Include revision information in the response

Responses

Response samples

Content type
application/json
{
  • "apis": {
    },
  • "serverVersion": "string",
  • "version": 0
}

Discovery REST API

Rest Service providing the discovery information.

Get discovery information

Retrieves the JSON representation of the cube discovery information.

Responses

Get discovery information

Retrieves the JSON representation of the cube discovery information.

Responses

JWT API

JSON Web Token (JWT) endpoint.

Get JWT token

Retrieves a JSON Web Token (JWT) for the currently authenticated user.

If the user is already authenticated via JWT, the existing token is returned (to prevent token duration extension attacks). Otherwise, a new token is generated.

The returned token can be used for subsequent API requests by including it in the Authorization header as: Authorization: Bearer <token>

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Query History REST API (Experimental)

Endpoints to retrieve and manage query history.

Note: This API is experimental and may change in future versions without notice.

Delete multiple query history entries based on filters

Deletes all query history entries that match the specified filter criteria. If no filters are provided, all query history entries will be deleted. This operation also removes all associated metadata attributes for the deleted queries.

Filters can be combined to narrow down the selection of queries to delete. Queries that are still RUNNING cannot be deleted. If you need to delete running queries, you must cancel them first using the appropriate endpoint.

query Parameters
user
any
Example: user=jane.smith&user=john.doe

Filter by username(s). Can be a single value or JSON array like ["user1", "user2"]

status
any
Example: status=RUNNING&status=SUCCESSFUL

Filter by query status(es). Can be a single value or JSON array

type
any
Example: type=MDX&type=UNKNOWN

Filter by query type(s). Can be a single value or JSON array

started_after
any
Example: started_after=2025-01-01T10:00:00Z

Only include queries started after this ISO-8601 date/time

started_before
any
Example: started_before=2025-12-31T23:59:59Z

Only include queries started before this ISO-8601 date/time

ended_after
any
Example: ended_after=2025-01-01T10:00:00Z

Only include queries ended after this ISO-8601 date/time

ended_before
any
Example: ended_before=2025-12-31T23:59:59Z

Only include queries ended before this ISO-8601 date/time

max_duration
any
Example: max_duration=PT5M

Maximum duration in milliseconds or ISO-8601 duration format (e.g., PT1H30M for 1 hour 30 minutes)

min_duration
any
Example: min_duration=1000

Minimum duration in milliseconds or ISO-8601 duration format (e.g., PT1H30M for 1 hour 30 minutes)

metadata.*
any
Example: metadata.*=metadata.foo=["abc1", "abc3"]

Filter by metadata attributes using the pattern 'metadata.{attributeName}'. Can be a single value or JSON array. For example: metadata.foo=["value1", "value2"]

required
object (MultiValueMapStringString)

Responses

Retrieve multiple queries with optional filtering

Retrieves a paginated list of query history entries based on the specified filter criteria. If no filters are provided, all query history entries will be returned.

The response includes query details along with associated metadata attributes for each entry, plus pagination metadata (total count, page number, page size, total pages). Filters can be combined to narrow down the selection of queries to retrieve.

Pagination is applied by default with a page size of 10 items. Use the 'page' and 'page_size' parameters to control pagination.

query Parameters
page
any

Page number (0-indexed). Default: 0

page_size
any
Example: page_size=10

Number of items per page. Default: 10

user
any
Example: user=jane.smith&user=john.doe

Filter by username(s). Can be a single value or JSON array like ["user1", "user2"]

status
any
Example: status=RUNNING&status=SUCCESSFUL

Filter by query status(es). Can be a single value or JSON array. Valid values: RUNNING, SUCCESSFUL, FAILED, CANCELLED

type
any
Example: type=MDX&type=UNKNOWN

Filter by query type(s). Can be a single value or JSON array. Valid values: MDX, UNKNOWN

started_after
any
Example: started_after=2025-01-01T10:00:00Z

Only include queries started after this ISO-8601 date/time

started_before
any
Example: started_before=2025-12-31T23:59:59Z

Only include queries started before this ISO-8601 date/time

ended_after
any
Example: ended_after=2025-01-01T10:00:00Z

Only include queries ended after this ISO-8601 date/time

ended_before
any
Example: ended_before=2025-12-31T23:59:59Z

Only include queries ended before this ISO-8601 date/time

max_duration
any
Example: max_duration=PT5M

Maximum duration in milliseconds or ISO-8601 duration format (e.g., PT1H30M for 1 hour 30 minutes)

min_duration
any
Example: min_duration=1000

Minimum duration in milliseconds or ISO-8601 duration format

metadata.*
any
Example: metadata.*=metadata.foo=["abc1", "abc3"]

Filter by metadata attributes using the pattern 'metadata.{attributeName}'. Can be a single value or JSON array. For example: metadata.foo=["value1", "value2"]

required
object (MultiValueMapStringString)

Responses

Cancel all running queries.

Cancels all currently running queries.

This operation will attempt to stop the execution of all queries with RUNNING status and update their status to CANCELLED. If some queries cannot be cancelled, the operation will continue with the remaining queries.

query Parameters
status
required
string
Enum: "CANCELLED" "FAILED" "RUNNING" "SUCCESSFUL"

Filter parameter that must be set to 'RUNNING' to target running queries.

Request Body schema: application/json
status
required
string
Enum: "CANCELLED" "FAILED" "RUNNING" "SUCCESSFUL"

Responses

Request samples

Content type
application/json
{
  • "status": "CANCELLED"
}

Delete a query.

Deletes the query with the given ID from the query history.

Note that this will not cancel the query if it is still running. A running query must be cancelled first (PATCH endpoint) before it can be deleted.

path Parameters
id
required
string

ID of the query within the query history.

Responses

Retrieve a query by ID

Retrieves a single query history entry by its unique identifier.

The response includes the query details along with all associated metadata attributes.

path Parameters
id
required
string
Example: 12345

Unique identifier of the query history entry

Responses

Cancel a running query.

Cancels the running query with the given ID.

This operation will attempt to stop the query execution and update its status to CANCELLED. If the query is not currently running, the operation may fail.

path Parameters
id
required
string

ID of the query to cancel.

Request Body schema: application/json
status
required
string
Enum: "CANCELLED" "FAILED" "RUNNING" "SUCCESSFUL"

Responses

Request samples

Content type
application/json
{
  • "status": "CANCELLED"
}

Retrieve query execution plan by ID

Retrieves the execution plan for a specific query by its unique identifier.

This endpoint re-executes the stored MDX query to generate the query plan data. The query must be of type MDX, otherwise a BadArgumentException will be thrown. An optional timeout can be specified to limit the execution time of the query plan generation.

Note: This operation requires an active cube setup and will re-execute the query.

path Parameters
id
required
string
Example: 12345

Unique identifier of the query history entry

query Parameters
timeout
string
Example: timeout=PT30S

Optional timeout for query plan generation in ISO-8601 duration format (e.g., PT30S for 30 seconds)

Responses

Configuration REST API

Description of REST API to configure an ActivePivot application.

Gets all defined editable calculated members defined in a given ActivePivot.

Some additional calculated members may be defined in the ActivePivot instance. However, if they cannot be edited through this API, they won't be listed by this call.

path Parameters
pivotId
required
string

Pivot id

Responses

Executes an MDX definition statement.

The statement itself defines on which ActivePivot instance it applies. There are various types of statements that are supported by the API. The full list and examples are provided by this documentation page.

Request Body schema: application/json

MDX definition statement payload.

owner
Array of strings
owners
Array of strings
reader
Array of strings
readers
Array of strings
statement
string

Responses

Request samples

Content type
application/json
{
  • "owner": [
    ],
  • "owners": [
    ],
  • "reader": [
    ],
  • "readers": [
    ],
  • "statement": "string"
}

Gets all defined editable KPIs defined in a given ActivePivot.

Some additional KPIs may be defined in the ActivePivot instance. However, if they cannot be edited through this API, they won't be listed by this call.

path Parameters
pivotId
required
string

Name of the ActivePivot instance to query

Responses

Sets the locale for the calling user

Changes the locale of the current user.

Request Body schema: application/json

New locale definition.

locale
string

Responses

Request samples

Content type
application/json
{
  • "locale": "string"
}

Get editable named sets

Retrieves the named sets associated with the given pivot ID that can be edited or removed.

path Parameters
pivotId
required
string

Pivot ID.

Responses

Gets all defined editable calculated members defined in a given ActivePivot.

Some additional calculated members may be defined in the ActivePivot instance. However, if they cannot be edited through this API, they won't be listed by this call.

path Parameters
pivotId
required
string

Pivot id

Responses

Executes an MDX definition statement.

The statement itself defines on which ActivePivot instance it applies. There are various types of statements that are supported by the API. The full list and examples are provided by this documentation page.

Request Body schema: application/json

MDX definition statement payload.

owner
Array of strings
owners
Array of strings
reader
Array of strings
readers
Array of strings
statement
string

Responses

Request samples

Content type
application/json
{
  • "owner": [
    ],
  • "owners": [
    ],
  • "reader": [
    ],
  • "readers": [
    ],
  • "statement": "string"
}

Gets all defined editable KPIs defined in a given ActivePivot.

Some additional KPIs may be defined in the ActivePivot instance. However, if they cannot be edited through this API, they won't be listed by this call.

path Parameters
pivotId
required
string

Name of the ActivePivot instance to query

Responses

Sets the locale for the calling user

Changes the locale of the current user.

Request Body schema: application/json

New locale definition.

locale
string

Responses

Request samples

Content type
application/json
{
  • "locale": "string"
}

Get editable named sets

Retrieves the named sets associated with the given pivot ID that can be edited or removed.

path Parameters
pivotId
required
string

Pivot ID.

Responses

Data Export

API to export the result of MDX queries

mdxDownload

Request Body schema: application/json
object (JsonMdxQuery)
object (IJsonOutputConfiguration)

Responses

Request samples

Content type
application/json
{
  • "jsonMdxQuery": {
    },
  • "outputConfiguration": {
    }
}

Export MDX query results to file

Exports the result of a MDX query in CSV or Arrow format to a file in the server or in the cloud.

Local Server Export: Files are exported to directories under the system temporary directory:

  • Linux/Unix: /tmp/<directoryName>
  • Windows: C:\Users\<userName>\AppData\Local\Temp\<directoryName>

The target directory must already exist before export. The export will fail if the directory does not exist.

Cloud Export: Cloud exports are supported for configured cloud storage providers. For cloud exports, the directoryName should specify the cloud path (e.g., S3 bucket path).

Request Body schema: application/json

The MDX query to run and export options

object (JsonMdxQuery)
object (IJsonOutputConfiguration)

Responses

Request samples

Content type
application/json
{
  • "jsonMdxQuery": {
    },
  • "outputConfiguration": {
    }
}

Response samples

Content type
application/json
{ }

mdxDownload_1

Request Body schema: application/json
object (JsonMdxQuery)
object (IJsonOutputConfiguration)

Responses

Request samples

Content type
application/json
{
  • "jsonMdxQuery": {
    },
  • "outputConfiguration": {
    }
}

Export MDX query results to file

Exports the result of a MDX query in CSV or Arrow format to a file in the server or in the cloud.

Local Server Export: Files are exported to directories under the system temporary directory:

  • Linux/Unix: /tmp/<directoryName>
  • Windows: C:\Users\<userName>\AppData\Local\Temp\<directoryName>

The target directory must already exist before export. The export will fail if the directory does not exist.

Cloud Export: Cloud exports are supported for configured cloud storage providers. For cloud exports, the directoryName should specify the cloud path (e.g., S3 bucket path).

Request Body schema: application/json

The MDX query to run and export options

object (JsonMdxQuery)
object (IJsonOutputConfiguration)

Responses

Request samples

Content type
application/json
{
  • "jsonMdxQuery": {
    },
  • "outputConfiguration": {
    }
}

Response samples

Content type
application/json
{ }

AI Optimizer

Endpoints for AI-based optimization of Atoti cubes

Delete aggregate provider history for all cubes

Delete the query history on which the aggregate provider recommendations are based for each cube.

Responses

Delete aggregate provider history

Delete the query history on which the aggregate provider recommendations are based for the given cube.

path Parameters
pivotId
required
string

Pivot identifier

Responses

Get aggregate provider recommendations for all cubes

Computes the partial aggregate providers needed to efficiently cover the query history. Partial aggregate providers are recommended for every data cube. This operation is intended to be called in a test environment, in order not to impact the production environment.

query Parameters
coverTarget
required
number <double>

Fraction of query history to cover

Responses

Get aggregate provider recommendations for a pivot

Computes recommendations for a specific pivot.

path Parameters
pivotId
required
string

Pivot identifier

query Parameters
coverTarget
required
number <double>

Fraction of query history to cover

Responses

Get query history statistics

Returns statistics about the query history used for aggregate provider recommendations.

Responses

Response samples

Content type
application/json

Success

Loading...

GAQ Query REST API (Experimental)

GetAggregatesQuery (GAQ) REST API for executing OLAP queries.

This API provides a programmatic way to execute GetAggregatesQuery operations against Atoti cubes. Results are returned in Apache Arrow format for efficient data transfer and processing.

Note: This API is experimental and may change in future versions without notice.

Executes a GAQ query and returns the result as an Arrow stream.

Executes a GAQ query on the specified cube and branch, with given measures, coordinates, filters, context, and timeout. The result is returned as an Apache Arrow stream.

Request Body schema: application/json
branch
string

The specific branch of the cube to query. By default, the branch set by activeviam.branch.master property.

object

Additional context values to configure query execution. Supported context values include:

  • queriesTimeLimit: Query timeout in seconds (e.g., "30")
  • queriesResultLimit: Maximum number of cells to return (e.g., "10000")

Context values are applied during query execution and reset after the query completes.

object

The coordinates for the query, mapping level descriptions to level members.

cubeName
required
string

The name of the cube to query.

object (Filter)

Filter conditions to apply to the query.

measures
required
Array of strings

The list of measures to include in the query.

timeout
integer <int32>

The timeout for the query in seconds.

Responses

Request samples

Content type
application/json
{
  • "branch": "string",
  • "context": {
    },
  • "coordinates": {
    },
  • "cubeName": "string",
  • "filter": {
    },
  • "measures": [
    ],
  • "timeout": 0
}