Overview
This section provides general information about interfacing with both the ADI OtoSense™ Smart Motor Sensor Server API (which is integrated into the Smart Motor Sensor’s firmware) and the ADI OtoSense™ Cloud API.
Warning: REST calls made to the Smart Motor Sensor Server API and those made to the ADI OtoSense™ Cloud API involve different base paths. See Table 2 for additional details.
Request and response format
When interfacing with the Smart Motor Sensor Server API, mobile and desktop applications should use a combination of JSON (‘application/json’) and URL (‘application/x-www-form-urlencoded’) encoded requests and responses. To determine the appropriate format for a particular request, see the “Format” column in Table 3.
When interfacing with the ADI OtoSense™ Cloud API, mobile and desktop applications should only use JSON (‘application/json’) encoded requests and responses.
Note: When making POST requests, set the Content-Type header to the appropriate format (i.e., application/json or application/x-www-form-urlencoded).
HTTP response status codes
Table 1: HTTP response status codes
| Code | Description | Result |
|---|---|---|
| 200 | Ok | Successful |
| 204 | No Content | Successful |
| 400 | Bad Request | Unsuccessful |
| 404 | Not Found | Unsuccessful |
Table 2: Base URLs for Rest Endpoints
| Location | Base URLs for REST Endpoints | Notes |
|---|---|---|
| Sensor | http://10.123.45.1 † | †The hostname, `http://mysimplelink.net` can also be used but it often fails to resolve. Thus it is recommended to use the IP address instead. |
| Cloud | Your API Endpoint* (ex. https://api-adi.otosensesms.com/) |
*See ‘Before you begin’ for more details. |
Table 3: REST Calls to the Smart Motor Sensor Server API
| Description | Method | Path | Format* | Parameters / Notes |
|---|---|---|---|---|
| Get Sensor Name | GET | /__SL_G_DNP | TEXT | The prefix on the name, ‘SMS’, should be removed from the response. |
| Get Sensor Firmware and Hardware Version Numbers | GET | /api/1/host/version/1/sms_version | JSON | Optional. Can be used to determine if a connection has been made to the sensor. |
| Get Sensor Certificate | GET | /api/1/host/certs/1/clientcert | JSON | Any instances of the string ‘%02’ should be removed from the response and replaced with a space (‘ ‘). |
| Set Sensor IoT Endpoint | POST | /api/1/host/cloud/1/config | JSON | url: The IoT Endpoint |
| Delete Sensor Network Profiles | POST | /api/1/wlan/profile_del_all | FORM | |
| Start AP Scan | POST | /api/1/wlan/en_ap_scan | FORM | Optional. Parameters should be set as follows: __SL_P_SC1=10 __SL_P_SC2=1 |
| Get Sensor Scan Result | GET | /netlist.txt | TEXT | Optional. Should be called after ‘Start AP Scan’. Results will be ‘;’ separated strings with AP names prefixed with security type integer (ex. ‘2MyAP;3EntAP’) |
| Set Sensor Network Profile | POST | /api/1/wlan/profile_add | FORM | __SL_P_P.A= SSID __SL_P_P.B= Security Type __SL_P_P.C= Password __SL_P_P.D= Priority |
| Confirm Sensor Network Profile | POST | /api/1/wlan/confirm_req | FORM | Once this request is made, the sensor will stop broadcasting its AP and attempt to connect to the ADI OtoSense™ cloud. |
| Get Sensor Profile Error | GET | /api/1/host/info/1/error_info | JSON | If the sensor cannot successfully connect to the internet, this can be used to determine the reason why a profile did not work. |
*JSON refers to ‘application/json’ encoding and FORM refers to ‘application/x-www-form-urlencoded’ encoding.
Table 4: REST Calls to the ADI OtoSense™ Cloud API
| Description | Method | Path | Format | Parameters / Notes |
|---|---|---|---|---|
| Get Oauth Token | POST | /oauth/token | JSON | see https://adi.otosensesms.com/api-reference for more details |
| Provision Sensor | POST | /sensors | JSON | see https://adi.otosensesms.com/api-reference for more details |
| Confirm Sensor is Connected to the Cloud | GET | /sensors/{sensorId} | JSON | see https://adi.otosensesms.com/api-reference for more details |


