The TM1 Admin Server
Learn all about the IBM®
TM1® Admin Server
here. To access the metadata of the TM1
Admin Server, use
http://<adminserver>:5895/api/v1/$metadata
or
https://<adminserver>:5898/api/v1/$metadata
.
Change the default value of the port number used by TM1 Admin Server
The TM1 Admin Server uses port 5895 for HTTP or port 5898 for HTTPS to communicate with the TM1 REST API. These values cannot be changed by using IBM Cognos Configuration. If you need to change the default values, you can modify the \<install directory>\configuration\cogstartup.xml file.
If you are using HTTPS, add the following lines:
<crn:parameter name="tm1AdminHTTPSPortNumber">
<crn:value xsi:type="xsd:unsignedShort">[xxxx]</crn:value> </crn:parameter>
If you are not using HTTPS, add the following lines, where [xxxx] is an available port number:
<crn:parameter name="tm1AdminHTTPPortNumber">
<crn:value xsi:type="xsd:unsignedShort">[xxxx]</crn:value> </crn:parameter>
Restart the TM1
Admin Server and
verify the port number settings by specifying
http://<tm1server>:5895/api/v1/Servers
or https://<tm1server>:5898/api/v1/Servers
in a local browser
instance.
The response identifies the available servers in the following form:
{
"@odata.context": "$metadata#Servers",
"value": [
{
"Name": "a TM1 database",
"SelfRegistered": true,
"Host": "http://DESKTOP-RHJLSO4:8014",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 17414,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 8014,
"IsLocal": false,
"UsingSSL": false,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-07T22:17:56.778Z"
}
]
}
Other available servers might also appear, but they don't display the
HTTPPortNumber
value unless these steps are done on the directories where they
exist. The TM1
Admin Server provides the
Server Root URL and displays the Servers entity set.
Manage a list of TM1 databases on the TM1 Admin Server
In TM1 Server version 11.7.0, you can set up one TM1 Admin Server that refers to the active TM1 databases for a model. All your users can point to the TM1 Admin Server and you can rapidly switch over from one TM1 database to another TM1 database. The TM1 Admin Server doesn't need to be restarted, which means that you can completely automate the failover to the backup system if a crash occurs on a TM1 database.
GET the list of databases that are available
To see
which databases are currently self-registered, you can retrieve the list of TM1 databases that are registered with the TM1
Admin Server. You can use
GET
against the ~/api/v1/Servers
resource to find the list of all
databases that are
available.
GET http://<adminserver>:<adminserver_port>/api/v1/Servers
Example
response
body:{
"@odata.context": "$metadata#Servers",
"value": [
{
"Name": "24retail",
"SelfRegistered": true,
"Host": "http://DESKTOP-RHJLSO4:8014",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 17414,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 8014,
"IsLocal": false,
"UsingSSL": false,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:04.566Z"
},
{
"Name": "GO_New_Stores",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:5010",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 45557,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 5010,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:10.120Z"
},
{
"Name": "GO_Scorecards",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:44312",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 44321,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 44312,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:09.360Z"
},
{
"Name": "Planning Sample",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:12354",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 12345,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 12354,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:02.022Z"
},
{
"Name": "proven_techniques",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:5011",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 53333,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 5011,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:10.173Z"
},
{
"Name": "SData",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:8010",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 12346,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 8010,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:09.619Z"
},
{
"Name": "MyDB",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:5001",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 60042,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 5001,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:44:09.475Z"
}
]
}
GET details for a specific database
You can do a
GET
against a specific database, for example,
~/api/v1/Servers('<database_name>'),
to retrieve details
of that
database.
GET http://<adminserver>:<adminserver_port>/api/v1/Servers('<database_name>')
Example
response body for GET
http://<adminserver>:5895/api/v1/Servers('Sdata'){
"@odata.context": "$metadata#Servers/$entity",
"Name": "SData",
"SelfRegistered": true,
"Host": "https://DESKTOP-RHJLSO4:8010",
"IPAddress": "9.24.156.199",
"IPv6Address": "",
"PortNumber": 12346,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 8010,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": true,
"LastUpdated": "2020-01-09T13:54:10.343Z"
}
POST a database to your list of available TM1 databases
You can add another TM1 database to your list of available databases. POST
changes to the
database list on the TM1
Admin Server as
a collection of Server
entities.
POST http://<adminserver>:<adminserver_port>/api/v1/Servers
Example
body with a database to
add:{
"Name":"MyModel1",
"IPAddress":"172.20.10.10",
"PortNumber":12345,
"UsingSSL": true,
"ClientMessagePortNumber":61098,
"HTTPPortNumber":12999,
"ClientExportSSLSvrCert":true,
"ClientExportSSLSvrKeyID":"whateverExportSSLSvrKeyID",
"AcceptingClients":true
}
Example
response body for POST, which shows defaults
applied{
"@odata.context": "$metadata#Servers/$entity",
"Name": "MyModel1",
"SelfRegistered": false,
"Host": null,
"IPAddress": "172.20.10.10",
"IPv6Address": "",
"PortNumber": 12345,
"ClientMessagePortNumber": 61098,
"HTTPPortNumber": 12999,
"IsLocal": false,
"UsingSSL": true,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": true,
"ClientExportSSLSvrKeyID": "whateverExportSSLSvrKeyID",
"AcceptingClients": true,
"LastUpdated": "2020-01-09T22:09:19.838Z"
}
PATCH a database to your list of available TM1 databases
Use PATCH
to upsert
(insert or update) a database to your list of available databases. PATCH
changes to
the database list on the TM1
Admin Server as a collection of Server
entities.
PATCH http://<adminserver>:<adminserver_port>/api/v1/Servers
Example
body with a database to insert or update:Some properties are not required in the body. The response body shows you the defaults that are applied.
{
"Name": "MyModel2",
"IPAddress":"172.20.10.10",
"PortNumber":12345,
"UsingSSL":false
}
Example
response body for PATCH, which shows defaults
applied{
"@odata.context": "$metadata#Servers/$entity",
"Name": "MyModel2",
"SelfRegistered": false,
"Host": null,
"IPAddress": "172.20.10.10",
"IPv6Address": "",
"PortNumber": 12345,
"ClientMessagePortNumber": 0,
"HTTPPortNumber": 0,
"IsLocal": false,
"UsingSSL": false,
"SSLCertificateID": null,
"SSLCertificateAuthority": null,
"SSLCertificateRevocationList": null,
"ClientExportSSLSvrCert": false,
"ClientExportSSLSvrKeyID": null,
"AcceptingClients": false,
"LastUpdated": "2020-01-09T13:51:13.770Z"
}
PATCH or DELETE a specific TM1 database
You can PATCH
updates to individual TM1
databases or DELETE
individual TM1 databases
only if they were added using the TM1 REST API. Both of these
requests use the same format.
The request body for a PATCH to an individual database cannot have the Name
property because this property is implied by the URL.
PATCH http://<adminserver>:<adminserver_port>/api/v1/Servers('<database_name>')
{
"IPAddress":"172.20.10.10",
"PortNumber":12345,
"UsingSSL":false
}
You don't need a request body to DELETE an individual database.
DELETE http://<adminserver>:<adminserver_port>/api/v1/Servers('<database_name>')