Otter Documentation

Otter API Reference

Otter helps you automate configuration and installation of other software on your servers. To help you automate and configure Otter, there are various API endpoints you can use to programmatically query or configure Otter instances.

In general, you should avoid the Native API when possible. The other endpoints are much simpler to use, better documented, and will almost always be backward- and forward-compatible

  • Job Orchestration - trigger and checking the status of orchestration jobs
  • Configuration Management - check the status of server, role, and environment configuration, as well as remediate drift
  • Infrastructure Management - query, create, and update server, environment, and server role entries; they are intended to automate the set-up and management of an Otter instance.
  • Variables Management - view, create, update, and delete configuration variables
  • Native API Methods - callable through JSON, SOAP, or even SQL directly, these offer full control of an Otter instance and can be used to do anything that a user may do from the web interface; these may change between minor versions (which are always documented in the release notes), but are often backwards-compatible.

Native API Reference

These methods are callable through JSON, SOAP, or SQL. Note that the Native API must be explicitly enabled by setting an API key under Administration > All Settings. Because this is a low-level API, specific user or task authorization is not performed and, if needed, may be done through the various Security_ methods.

Method Listing

This listing was generated from Otter 1.4, and may be different in earlier releases. To see the api methods for your specific version, visit /reference/api in your Otter installation.

Input Output
Configuration_GetValues
Gets all of the Otter configuration values.
none DataTable (Configuration)
Configuration_SetValue
Sets an Otter configuration value.
Key_Name (String)
Value_Text (String)
none
Credentials_CreateOrUpdateCredential
Creates a new credential or updates an existing one.
Credential_Name (String)
Environment_Id (Int32)
CredentialType_Name (String)
Configuration_Xml (String)
AllowFunctionAccess_Indicator (YNIndicator)
Credential_Id (Int32)
Credential_Id
Credentials_DeleteCredential
Gets the specified credential.
Credential_Id (Int32) DataRow (Credentials_Extended)
Credentials_GetCredential
Gets the specified credential.
Credential_Id (Int32) DataRow (Credentials_Extended)
Credentials_GetCredentialByName
Gets the specified credential by its qualified name.
CredentialType_Name (String)
Credential_Name (String)
DataRow (Credentials_Extended)
Credentials_GetCredentials
Gets all credentials in the system.
none DataTable (Credentials_Extended)
Environments_CreateOrUpdateEnvironment
Creates a new environment, or updates an existing one.
Environment_Name (String)
ServerIds_Csv (String)
Parent_Environment_Id (Int32)
Environment_Id (Int32)
Environment_Id
Environments_DeleteEnvironment
Deletes the specified environment.
Environment_Id (Int32) none
Environments_GetEnvironment
Gets the specified environment and its servers.
Environment_Id (Int32) DataRow (Environments_Extended)
Environments_GetEnvironments
Gets all the environments and their servers in the system.
none DataTable (Environments_Extended)
Environments_GetEnvironmentsForContext
Gets the union of all environments that are associated with the specified criteria.
Server_Id (Int32)
ServerRole_Id (Int32)
Execution_Id (Int32)
Job_Id (Int32)
DataTable (Environments_Extended)
EnvironmentServers_GetEnvironmentServers
Gets all the environment server links in the system.
none DataTable (EnvironmentServers)
Executions_DeleteExecution
Deletes the specified execution and all of its logs.
Execution_Id (Int32) none
Executions_GetExecution
Gets the specified execution.
Execution_Id (Int32) DataRow (Executions_Extended)
Hosts_CreateOrUpdateHost
Creates a new server host, or updates an existing one.
Host_Name (String)
Host_Configuration (String)
Host_Id (Int32)
Host_Id
Hosts_DeleteHost
Deletes the specified host.
Host_Id (Int32) none
Hosts_GetHost
Gets the specified server hosts in the system.
Host_Id (Int32) DataRow (Hosts)
Hosts_GetHosts
Gets all the server hosts in the system.
none DataTable (Hosts)
Infrastructure_GetInfrastructure
Gets all of the infrastructure; this includes servers, environments, and roles.
none DataSet (Servers_Extended, Environments_Extended, ServerRoles_Extended, EnvironmentServers, ServerRoleServers, Variables)
Jobs_CreateJob
Creates a new job.
JobType_Code (String)
Plan_Name (String)
Raft_Id (Int32)
Schedule_Id (Int32)
Job_Name (String)
JobTarget_Code (String)
Start_Date (DateTime)
Simulation_Indicator (YNIndicator)
ServerIds_Csv (String)
ServerRoleIds_Csv (String)
EnvironmentIds_Csv (String)
TriggeredByTemplate_Id (Int32)
Job_Id (Int32)
Job_Id
Jobs_DeleteJob
Deletes the specified job.
Job_Id (Int32) none
Jobs_GetJob
Gets the specified job.
Job_Id (Int32) DataSet (Jobs_Extended, Servers_Extended, ServerRoles_Extended, Environments_Extended)
Jobs_GetJobHistory
Gets the specified jobs in the system.
Execution_Count (Int32)
Server_Id (Int32)
ExecutionStatus_Code (String)
DataTable (Executions_Extended)
Jobs_GetJobs
Gets the specified jobs in the system.
JobType_Code (String)
JobState_Code (String)
DataTable (Jobs_Extended)
Jobs_GetServersForExecution
Gets the servers that should execute for a Job, based on the job's associated servers, roles, and environments.
Job_Id (Int32) DataTable (Servers_Extended)
JobTemplates_CreateOrUpdateJobTemplate
Creates a new job template or updates an existing template configuration.
JobTemplate_Name (String)
JobTemplate_Configuration (String)
JobTemplate_Id (Int32)
JobTemplate_Id
JobTemplates_DeleteJobTemplate
Deletes a job template.
JobTemplate_Id (Int32) none
JobTemplates_GetJobTemplates
Gets one or more job templates.
JobTemplate_Id (Int32)
JobTemplate_Name (String)
DataTable (JobTemplates)
LogMessages_DeleteMessages
Deletes one or all message from the error log.
LogMessage_Id (Int32) none
LogMessages_GetMessage
Gets a specified message from the error log.
LogMessage_Id (Int32) DataRow (LogMessages_Extended)
LogMessages_GetMessages
Gets the messages from the error log that match the specified criteria.
Row_Count (Int32)
Message_Level (Int32)
Category_Name (String)
Job_Id (Int32)
Server_Id (Int32)
Environment_Id (Int32)
DataTable (LogMessages_Extended)
Rafts_CreateOrUpdateRaft
Creates a new server Raft, or updates an existing one.
Raft_Name (String)
Environment_Id (Int32)
Raft_Configuration (String)
Raft_Id (Int32)
Raft_Id
Rafts_DeleteRaft
Deletes the specified Raft.
Raft_Id (Int32) none
Rafts_GetRaft
Gets the specified raft in the system.
Raft_Id (Int32) DataRow (Rafts)
Rafts_GetRafts
Gets all the Rafts in the system.
none DataTable (Rafts)
Schedules_CreateOrUpdateSchedule
Creates a new schedule, or updates an existing one.
Schedule_Name (String)
Schedule_Configuration (String)
Active_Indicator (YNIndicator)
Schedule_Id (Int32)
Schedule_Id
Schedules_DeleteSchedule
Deletes the specified schedule and all jobs associated with it.
Schedule_Id (Int32) none
Schedules_GetSchedule
Gets the specified schedule.
Schedule_Id (Int32) DataRow (Schedules_Extended)
Schedules_GetSchedules
Gets all schedules in the system.
IncludeInactive_Indicator (YNIndicator) DataTable (Schedules_Extended)
Security_AddPrivilege
Grants or denies the specified principal the ability to perform a certain role
Privilege_Id (Int32)
UserDirectory_Id (Int32)
Principal_Name (String)
PrincipalType_Code (String)
Role_Id (Int32)
Environment_Id (Int32)
PrivilegeType_Code (String)
Privilege_Id
Security_CreateOrUpdateRole
Creates a new role defined by the specified tasks
Role_Id (Int32)
Role_Name (String)
Role_Description (String)
Tasks_Csv (String)
Role_Id
Security_DeleteRole
Deletes the specified role from the system
Role_Id (Int32) none
Security_GetOrAddAnonymousRole
Gets an anonymous role containing the specified tasks, creating one if necessary.
Tasks_Csv (String)
Role_Id (Int32)
Role_Id
Security_GetPrivileges
Gets a list of privileges assigned in the system
UserDirectory_Id (Int32)
PrincipalType_Code (String)
DataTable (Privileges_Extended)
Security_GetRole
Gets the specified role, along with all the tasks that comprise the role.
Role_Id (Int32) DataSet (Roles, RoleTasks_Extended)
Security_GetRoles
Gets all the roles in the system, along with all the tasks comprising each role.
IncludeAnonymous_Indicator (YNIndicator) DataSet (Roles, RoleTasks_Extended)
Security_GetTasks
Gets all of the tasks in the system.
none DataTable (Tasks)
Security_GetUserPrivileges
Gets the list of privileges specifically assigned to a user or any specified groups
UserDirectory_Id (Int32)
User_Name (String)
GroupNames_Csv (String)
DataTable (Privileges_Extended)
Security_RemovePrivilege
Deletes a privilege from the system.
Privilege_Id (Int32) none
ServerConfigurations_GetConfiguration
Gets server configuration for the specified server configuration type and name.
Server_Id (Int32)
ServerConfigurationType_Name (String)
ServerConfigurationKey_Name (String)
DataRow (ServerConfigurations_Extended)
ServerRoles_CreateOrUpdateServerRole
Creates or updates a server role.
ServerRole_Name (String)
Raft_Id (Int32)
ServerIds_Csv (String)
ServerRole_Id (Int32)
ServerRole_Id
ServerRoles_DeleteServerRole
Deletes the specified server and its configurations.
ServerRole_Id (Int32) none
ServerRoles_GetServerRole
Gets the specified server role.
ServerRole_Id (Int32) DataRow (ServerRoles_Extended)
ServerRoles_GetServerRoles
Gets all the servers roles in the system.
none DataTable (ServerRoles_Extended)
ServerRoles_GetServerRolesEnvironments
Gets all the server role and environment relations that match the specified criteria.
Environment_Id (Int32)
ServerRole_Id (Int32)
DataTable (ServerRolesEnvironments_Merged)
ServerRoles_SearchServerRoles
Searches servers roles in the system.
Environment_Id (Int32)
ServerConfiguration_Status_Code (String)
DataTable (ServerRoles_Extended)
Servers_CreateOrUpdateConfiguration
Creates a new server configuration, or updates an existing one.
Server_Id (Int32)
ServerConfigurationType_Name (String)
ServerConfigurationKey_Name (String)
CollectedOn_Execution_Id (Int32)
CollectedFor_ServerRole_Id (Int32)
ServerConfiguration_Status_Code (String)
ServerConfiguration_Configuration (String)
none
Servers_CreateOrUpdateServer
Creates a new server, or updates an existing one. If the Roles or Environments are not passed in as a parameter, then they will not be changed; however, passing in an empty string will remove the server from the corresponding groups.
Server_Name (String)
RoutineExecutionType_Code (String)
Host_Id (Int32)
ServerRoleIds_Csv (String)
EnvironmentIds_Csv (String)
Agent_Configuration (String)
Raft_Id (Int32)
Active_Indicator (YNIndicator)
Server_Id (Int32)
Server_Id
Servers_DeleteServer
Deletes the specified server and its configurations.
Server_Id (Int32) none
Servers_GetServer
Gets the specified server, with its associated configurations and environments.
Server_Id (Int32) DataSet (Servers_Extended, ServerConfigurations_Extended, Environments_Extended, ServerRoles_Extended)
Servers_GetServerByName
Gets the specified server, with its associated configurations and environments.
Server_Name (String) DataSet (Servers_Extended, ServerConfigurations_Extended, Environments_Extended, ServerRoles_Extended)
Servers_GetServers
Gets all the servers in the system.
IncludeInactive_Indicator (YNIndicator) DataTable (Servers_Extended)
Servers_SearchServers
Gets all the servers specified by the filter, as well as their associated environments and roles.
Has_ServerRole_Id (Int32)
In_Environment_Id (Int32)
DataSet (Servers_Extended, ServerRoleServers, EnvironmentServers)
Servers_SetConfigurationStatus
Updates the status of a configuration item on a server.
Server_Id (Int32)
ServerConfigurationType_Name (String)
ServerConfigurationKey_Name (String)
ServerConfiguration_Status_Code (String)
none
Servers_SetUnknownConfiguration
Updates all configuration on a server that wasn't set on a specified execution.
Server_Id (Int32)
CollectedOn_Execution_Id (Int32)
none
Users_CreateOrUpdateGroup
Creates a new user group in the system
Group_Name (String)
Users_Xml (String)
none
Users_CreateOrUpdateUser
Creates a new user in the system or updates an existing one.
User_Name (String)
Display_Name (String)
Email_Address (String)
Groups_Xml (String)
ChangePasswordOnLogin_Indicator (YNIndicator)
none
Users_DeleteGroup
Deletes a user group from the system, but does not delete the users who belong to the group
Group_Name (String) none
Users_DeleteUser
Deletes a user from the system
User_Name (String) none
Users_GetGroups
Gets a list of user groups in the system
none DataTable (Groups)
Users_GetUser
Gets the details of the specified user, and a list of all the groups the user belongs to
User_Name (String) DataSet (Users, UserGroups)
Users_GetUsers
Gets all the users in the system, along with all group membership information.
none DataSet (Users, UserGroups)
Users_GetUsersInGroup
Gets a list of users in the specified group
Group_Name (String) DataTable (Users)
Users_SearchGroups
Gets a specific group by name, or if a wildcard search is performed, a group whose name starts with the specified name
Group_Name (String)
PerformWildcardSearch_Indicator (YNIndicator)
DataTable (Groups)
Users_SearchUsers
Gets the specified user, or searchs for a user whose name starts with any of the specified criteria
User_Name (String)
Display_Name (String)
Email_Address (String)
PerformWildcardSearch_Indicator (YNIndicator)
DataTable (Users)
Variables_CreateOrUpdateVariable
Creates a new variable or sets an existing variable's value.
Variable_Name (String)
ValueType_Code (String)
Variable_Value (Byte[])
Server_Id (Int32)
Environment_Id (Int32)
ServerRole_Id (Int32)
Job_Id (Int32)
Host_Id (Int32)
Sensitive_Indicator (YNIndicator)
EvaluateVariables_Indicator (YNIndicator)
Variable_Id (Int32)
none
Variables_DeleteVariable
Deletes a variable.
Variable_Id (Int32) none
Variables_GetVariable
Gets a variable from a specified id.
Variable_Id (Int32) DataRow (Variables)
Variables_GetVariables
Gets all variables.
IncludeJobVariables_Indicator (YNIndicator) DataTable (Variables)
Variables_GetVariablesAccessibleFromScope
Gets the variables that are defined in any of the specified scopes.
Server_Id (Int32)
Environment_Id (Int32)
ServerRole_Id (Int32)
Job_Id (Int32)
Host_Id (Int32)
Variable_Name (String)
ExpandRolesAndEnvironments_Indicator (YNIndicator)
IncludeSystemVariables_Indicator (YNIndicator)
DataTable (Variables)
Variables_GetVariablesForScope
Gets the variables that are defined only in the specified scope.
Server_Id (Int32)
Environment_Id (Int32)
ServerRole_Id (Int32)
Job_Id (Int32)
Host_Id (Int32)
DataTable (Variables)

More on this topic: