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.
Articles
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’)
Chores:GET https://localhost:8881/api/v1/Chores
(‘Nightly Load’)
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
<DO NOT EDIT>