Using the Ubersmith API Estimated Reading Time: 3 Minutes Ubersmith API 2.0 is a RESTful web service for communicating with an Ubersmith software installation. The current Ubersmith API documentation is attached to this article. API Sections The API is broken into several sections, each containing commands having related functions. The sections are: uber - Functions of a general nature client - Functions related to the management of clients, contacts, services, and invoices device - Functions related to the management of devices, monitors, and IP assignments order - Functions related to orders sales - Functions related to sales opportunities support - Functions related to support departments and tickets Methods within each section are identified using a dot notation, for example, uber.methods_list. API Authentication The Ubersmith API supports the use of API tokens as well as passwords for authentication. The use of API tokens allows generating separate tokens for each external system accessing the API, and optionally setting an expiration date for the token. API tokens can be managed from the User Management page in Settings, by clicking edit in the API Tokens section which displays for any user with API access. Once generated, a token may be used in place of the user's password for API access. Authentication details are passed to the Ubersmith API via HTTP authentication. If you are using our client class, this is taken care of automatically. Generating API Documentation You can generate API documentation, resulting in a .pdf file you can then download. Note Generating an API guide is making an API call, so ensure you have API Access set to Yes in the User Info section through the Users link under Global Settings - Getting Started. From a web browser, enter the following address, replacing <domain.tld> with the domain for your ubersmith instance: https://<domain.tld>/api/2.0/?method=uber.documentation Enter your Ubersmith instance admin username and password. Using the Ubersmith API For supported languages, we recommend using our client (see below) for integrating other languages. The Ubersmith API uses standard HTTP requests and returns data in JSON format. The Ubersmith API is accessed through the URL https://billing.mycompany.com/api/2.0/, where billing.mycompany.com is the address of your Ubersmith installation. API methods are called by passing the parameter METHOD in the URL, like https://billing.mycompany.com/api/2.0/?method=uber.method_list, which returns a list of all available API methods. Additional parameters are passed to the API as either GET parameters or via standard HTTP POST requests. Responses are returned in JSON format (with the exception of specialized methods which return raw PDF, Image, XML or HTML data), and include the standard elements: status - API call success true/false error_code - error code for failed API calls error_message - error message for failed API calls data - results of API call API Clients PHP A PHP API client class and example are included in the api/client/2.0/php directory of the Ubersmith distribution. The file class.uber_api_client.php provides the PHP class uber_api_client, which can be used to interact with the Ubersmith API 2.0. The file sample.php provides an example of how to use the class to retrieve data from the API. Other Languages As other language implementations become available, they will be included in the api/client/2.0/ directory. If you have any questions about creating your own client class, or would like to contribute a client class you have written, please contact Ubersmith Support.