Resources for using the Titan Server API with various toolkits.
The various Titan Server platforms contain a REST API that can either be accessed directly via https or via SDK's which are contained in this repository.
The OpenAPI json specification for the REST API can be found here OpenAPI
You can also access the REST API via swagger on the admin console via the url https://localhost:31443/swagger/index.html This will give you an idea of all the commands that are available however generally you will only need a few commands to perform routine tasks like setting a server setting and restarting the server, or adding a user etc.
- Powershell
- C#
- https REST
- Javascript (coming soon)
The various sdk's all share similar concepts that we will discuss here which will help you better understand how to make perform various actions on the server. All of the sdk's communicate with the server via the same REST API so they will all operate in a similar manner.
Some of the API calls you can make can be destructive and great care should be taken to first test your commands on a test server installation. Please make a backup of your server database before using the sdk.
All sdk's and direct REST access all require first authenticating to the server via the login command which is described in each sdk. The general concept is after logging in the server wil return a session token that we will need to use on all future calls.
Most items in Titan Server are identied by a unique id or guid. For example each server instance, user, group, etc. are all identified by both a unique guid and a friendly name. For most of the commands that you will issue to the server you can either pass in the guid as the id or the friendly name however some friendly names could conflict.
The server always response to commands with the following object that will consist of 2 members, "Response" which contains command specific information, and "Result" which contains any error codes if the command fails. You will want to check the return objects Result.ErrorCode value to see if the command was successful.
$loginResponse = Invoke-Login ...
$serverList.Result | Format-List
ErrorCode : 0
ErrorStr : Success
SubErrorCode : 0
SubErrorStr :
The server supports various authentication providers such as Native which are managed by the administrator in Titan, or external providers like NTSAM, LDAP, ADSI etc. Many of the user related commands will require an "AuthGuid" to denote which user/provider is being accessed. You can pass in "native" for the default auth provider, however for NTSAM/LDAP it will require the guid which you can get by listing the auth providers.