
The i4SEE Application Programming Interface (API) allows users to access results generated by the i4SEE system using a set of individual calls. The API can be used to create an interface between i4SEE and other systems. The API allows these third-party services to collect results from the database.
Base access URL
The API can only be accessed through HTTPS. The access URL is dependent on whether i4SEE is installed on your local infrastructure or running in the i4SEE TECH cloud. If accessed via the cloud, the address will be similar to this:
https
:
//i4see.app/api/
Note that this represents the {baseurl}. For each API call this base URL will be extended with an address which is specific to the call (dependent on the requested information).
Authorization
User authentication is required for all requests. The HTTP request header "i4see-api-key" should contain the API key.
Time Zones
The internal standard for time stamps in i4SEE is UTC. However, if time-series data is received from outside the i4SEE system, then the data will be stored using the time stamp in its original form, without any additional correction. Therefore, in case results including timestamps are returned to the source (e.g. via Output API, see below), these will be consistent with the original standard used when uploading the data to i4SEE (i.e. no conversion will be performed).
API Response Codes
200 / OK / Response to a successful request
202 / Accepted / Request has been accepted for processing, but the processing has not been completed
400 / Bad Request / Errors can be like malformed request syntax, invalid request message parameters, or deceptive request routing etc.
401 / Unauthorized / Invalid authentication token
403 / Quota exceeded / Request is rejected due to rate limiting
404 / Not Found / Server can’t find the document requested by a user
429 / Too Many Requests / Request is rejected due to rate limiting
Data types
int / Integer / e.g. 4
string / strings enclosed in double quotes / e.g. "str"
DateTime / ISO-8601 timestamps / e.g. "2019-01-15T23:59:59"
Date / Date / e.g. "2019-01-15"
array / array homogenous javascript arrays, written as e.g. int[] / e.g. [1, 2, 103, 104, 105]
object / javascript objects / e.g. {“id”:”123”, “name”: ”power”}