Jedox OLAP documentation

home > API >

The API uses a subset of the "Hypertext Transfer Protocol" (HTTP/1.1) and a "Character Separated Values" (CSV) data format.

Token Mechanism

In order to support optimistic caching strategies on the client, Jedox OLAP uses a token mechanism to track changes on the server, databases, dimensions, and cubes as follows. Each of these objects have an associated token. This token is changed whenever the object is changed. I. e., if the dimension hierarchy is modified the corresponding dimension token is changed. The cube token is changed, whenever an element from a used dimension is deleted. The database token is changed whenever the cube or dimension token of any contained cube or dimension is changed. The server token is changed, whenever the token of the contained database is changed. The client can deliver the corresponding token in a request. If there is a mismatch, an error is returned and the client can update its cache.

For client side cell caching a second cube token called "client cache" token is delivered. A client has to update all cached cell values of the cube as soon as the token changes. The behavior of the "client cache" token can be set in a system cube called #_CONFIGURATION_. A change of the "client cache" token has no impact on the other tokens. Possible values and meanings of the client cache configuration:

  • "N": No client cache. The token changes after each request to force each client to invalidate its cache.
  • "Y": Use a client cache. The token changes after a cell insert, update or delete.
  • "E": Use a client cache for cubes without enterprise rules. The token changes after a cell insert, update or delete.

The tokens are delivered in HTTP header fields X-PALO-SV (server), X-PALO-DB (database), X-PALO-DIM (dimensions), X-PALO-CB (cubes) and X-PALO-CC (cube client cache). See example 1.

For data changing requests a counter is delivered in HTTP header field X-PALO-AC. This counter is the commit number of the related asynchronous writeback operation. If the operation fails the user's next request is not performed and this commit number together with the error description is delivered.

HTTP requests

The Jedox OLAP server supports the following requests (examples):

Server

request description token
/server/activate_license Activates license. server
/server/benchmark Starts server benchmark test and shows results. server
/server/change_password Changes user's password. server
/server/databases Shows the list of databases. server
/server/info Shows information about the server. server
/server/licenses Shows information about the server license. server
/server/load Loads the server data (does not load database or cube data). server
/server/locks Shows the list of locked cube areas. server
/server/login Login to server by user name and password. server
/server/logout Logout the current user server
/server/rebuild_storages Rebuild string storages. server
/server/save Saves the server data (does not save database or cube data). server
/server/shutdown Shuts down server (does not save database or cube data). -
/server/user_info Shows information about user. server
/server/views Shows the list of views. server

Database

request description token
/database/create Creates new database. database
/database/cubes Shows the list of cubes database
/database/destroy Deletes a database. server
/database/dimensions Shows the list of dimensions database
/database/generate_script Generates new script for a database. -
/database/info Shows identifier, name, number of dimensions and number of cubes. database
/database/load Loads the database data. database
/database/rebuild_markers Rebuilds all markers in a database. database
/database/rename Renames a database database
/database/save Saves the complete database database
/database/unload Unloads the database, dimension and cube data from memory. database

Dimension

request description token
/dimension/activate_virtual Creates or deletes a virtual dimension. dimension
/dimension/clear Clears a dimension. dimension
/dimension/create Creates a new dimension. dimension
/dimension/cubes Shows the list cubes using a dimension dimension
/dimension/destroy Deletes a dimension. database
/dimension/dfilter Filters dimension elements. dimension
/dimension/element Shows one element at a given position dimension
/dimension/elements Shows the list of elements. The list contains identifer, name, position, level, depth, parents and children of the elements. dimension
/dimension/generate_script Generates new script for a dimension. -
/dimension/info Shows identifier, name, maximum level, maximum depth and number of elements of a dimension. dimension
/dimension/rename Renames a dimension. dimension

Element

request description token
/element/append Adds children to consolidated elements. dimension
/element/create Creates new element. dimension
/element/create_bulk Creates multiple elements of the same type. dimension
/element/destroy Deletes an element. dimension
/element/destroy_bulk Delete list of elements. dimension
/element/info Shows identifer, name, position, level, depth, parents and children of an element. dimension
/element/move Changes the position of an element. dimension
/element/move_bulk Changes the position of elements. dimension
/element/rename Renames an element. dimension
/element/replace Changes or creates a new element. Replaces children in consolidated elements. dimension
/element/replace_bulk Changes or creates list of new elements. Replaces children in consolidated elements. dimension

Cube

request description token
/cube/clear Clears a cube. cube, client cache
/cube/clear_cache Clears a cube cache. cube
/cube/commit Commits a locked cube area. cube
/cube/convert Convert cube cube, client cache
/cube/create Creates a new cube. cube, client cache
/cube/destroy Deletes a cube. database
/cube/generate_script Generates new script for a cube. -
/cube/holds Lists holds. cube
/cube/info Show identifier, name and dimension identifiers of a cube. cube, client cache
/cube/load Loads cube data. cube
/cube/lock Lock cube areas. cube
/cube/locks Lists locked cube areas. cube
/cube/rename Renames a cube. cube, client cache
/cube/rollback Rollback a locked cube area. cube
/cube/rules Lists all rules for a cube. cube
/cube/save Saves cube data (obsolete, use /database/save) cube
/cube/unload Unloads cube data from memory. cube

Cell

request description token
/cell/area Shows datatype and value of an area of cube cells. cube
/cell/copy Copies cells. cube
/cell/copy_estimate Estimates the number of cells affected by copy operation. cube
/cell/drillthrough Retrieves detailed data for a cube cell. cube
/cell/export Exports cells. cube
/cell/goalseek Sets value of a cell and sister cells in a way that values of parent cells remain unchanged. cube
/cell/goalseek_estimate Estimates the number of cells affected by goalseek operation. cube
/cell/replace Sets value of a cube cell. cube
/cell/replace_bulk Sets values of cube cells. cube
/cell/replace_estimate Estimates the number of cells affected by cell replace operation. cube
/cell/value Shows datatype and value of a cube cell. cube
/cell/values Shows datatype and value of a list of cube cells. cube

Events

request description token
/event/begin Requests an exclusive lock. server
/event/end Releases an exclusive lock. server

Rules

request description token
/rule/create Creates a new enterprise rule for a cube. cube
/rule/destroy Removes specified enterprise rules from a cube. cube
/rule/functions Lists all available functions -
/rule/info Shows an enterprise rule of a cube. cube
/rule/modify Modifies enterprise rules of a cube. cube
/rule/parse Parse an enterprise rule. -

Scripts

request description token
/script/execute Executes provided script. -
/script/variables Retrieves information about input variables of the provided script. -

Supervision Server

request description token
/svs/info Gets information about Supervision Server. -
/svs/restart Restarts all SVS processes to reload PHP scripts. -
/svs/edit Editing and displaying content of SVS scripts -

View

request description token
/view/calculate Calculates view server

Hold

request description token
/hold/create Creates a new hold. cube
/hold/destroy Removes specified holds. cube
/hold/estimate Estimates the number of cells affected by hold create operation. cube

SAML

request description token
/meta-sp Retrives Service Provider Metadata XML saml

JWT

request description token
/token_info Validates a JWT token -

User

request description token
/user/get_properties Shows datatype and value of user properties. cube
/user/set_properties Sets user properties. cube

Error codes

If a parameter is missing or wrong the server returns an error code and a description. The complete liste of error codes is here.