TM1 REST API

Overview

The TM1 REST API is a new way of accessing data and everything else in TM1. Rather than being a proprietary API like old TM1 interfaces it is based on web standards making it accessible to a wide range of developers.  

REST stands for REpresentational State Transfer and is an architectural style (not a standard) that has become the common way of designing API for applications on the internet. The TM1 REST API does however support the OData standard (v4) which provides a common way for accessing data through queries and also updating data. OData is used by multiple vendors and is supported by companies like Microsoft, SAP and of course IBM. 

Examples:

Retrieve the TM1 REST API $metadata document

The $metadata document contains all of the information about the resources and functions of the TM1 REST API.

GET https://localhost:8881/api/v1/$metadata

Retrieve a list of TM1 objects

Dimensions:GET https://localhost:8881/api/v1/Dimensions

Cubes:GET https://localhost:8881/api/v1/Cubes

Processes:GET https://localhost:8881/api/v1/Processes

Chores:GET https://localhost:8881/api/v1/Chores

Applications: GET https://localhost:8881/api/v1/Contents('Applications')/Contents

Retrieve a single object

Dimensions:GET https://localhost:8881/api/v1/Dimensions(‘Account’)

Cubes:GET https://localhost:8881/api/v1/Cubes(‘General Ledger’)

Processes:GET https://localhost:8881/api/v1/Processes (‘Bedrock.Cube.View.Create’)

Application Folder: GET https://localhost:8881/api/v1/Contents('Applications')/Contents('Finance')/Contents

Retrieve a list of cube names

GET https://localhost:8881/api/v1/Cubes?$select=Name

Retrieve a list of cube names and their dimensions

GET https://localhost:8881/api/v1/Cubes?$select=Name&$expand=Dimensions($select=Name)

Retrieve a dimension and its elements

GET https://localhost:8881/api/v1/Dimensions('Account')/Hierarchies('Account')?$expand=Elements

Execute a view and retrieve its contents

POST https://localhost:8881/api/v1/Cubes('General Ledger')/Views('P&L')/tm1.Execute?$expand=Cells

Execute a view and retrieve its contents and structure

POST https://localhost:8881/api/v1/Cubes('General Ledger')/Views('P&L')/tm1.Execute?$expand=Axes($expand=Hierarchies($select=Name),Tuples($expand=Members($select=Name))),Cells

Execute a MDX statement and retrieve its contents and structure

POST https://tm1server:8881/api/v1/ExecuteMDX??$expand=Axes($expand=Hierarchies($select=Name),Tuples($expand=Members($select=Name))),Cells

{ “MDX”:”SELECT {[Version].[Actual]} ON COLUMNS, { ([Department].[Corporate], [Region].[United Kingdom], [General Ledger Measure].[Amount]), ([Department].[Corporate], [Region].[United Kingdom], [General Ledger Measure].[Comment]), ([Department].[2], [Region].[England], [General Ledger Measure].[Amount]) } ON ROWS FROM [General Ledger] WHERE ([Version].[Actual], [Year].[2012], [Period].[Mar], [Currency].[Local], [Account].[Salaries])”}

What’s New: TM1 Rest API

Loading posts for you, tons of them