API Authentication / Overview
All API endpoints require that a valid API key be in the Authentication header. API keys are set up in Settings > API Keys.
The header on all API calls should be as follows:
Authorization: <API Key>
APIs use appropriate verbs. Using the wrong verb results in an error. All errors use appropriate response codes. Response code 200 means the request was successful.
The production API server is: https://api.essembi.ai
Endpoints returning Result[]
will return a maximum of 10,000 cells (rows x columns). Filtering should be used to generate a more specific result.
Endpoints
Verb | Name | Url | Parameters | Return |
---|---|---|---|---|
GET |
List Tables Used to get all tables in an app. The IDs of the table are used in other endpoints. |
/Tables/List | Table[] | |
GET |
List Table Fields Used to get all fields in a table. The IDs of fields are used in other endpoints. |
/Tables/Fields | tableId (Url) | Field[] |
GET |
Get Table Records Used to get filtered table data. The IDs of records are used when creating foreign key relationships. |
/Tables/Records | tableId (Url), ResultsRequest (body) | Result |
POST |
Create Table Record Used to create a record, such as a ticket. |
/Tables/Create | tableId (Url), RecordValues (body) | RecordUpdate |
PATCH |
Edit Table Record Used to update an existing record. |
/Tables/Records/Edit | tableId (Url), recordId (Url), RecordValues (body) | RecordUpdate |
PATCH |
Activate Table Record Used to activate an inactive record. |
/Tables/Records/Activate | tableId (Url), recordId (Url) | RecordUpdate |
PATCH |
Inactivate Table Record Used to inactivate an active record. |
/Tables/Records/Inactivate | tableId (Url), recordId (Url) | RecordUpdate |
GET |
List Data Models Used to get all data models in an app. Data model IDs are used when getting data model results. |
/DataModels/List |
|
DataModel[] |
GET |
Get Data Model Results Used to get filtered results from a data model that has been configured in Settings > Data Models. |
/DataModels/Results | dataModelId , ResultsRequest (body) | Result |
Data Transfer Objects
Table
A table, such as Ticket, that has been set up in Settings > Tables.
- id (int)
- name (string)
- active (boolean)
Field
A field in a table, such as Ticket Summary.
- id (int)
- tableId (int)
- name (string)
- active (boolean)
- required (boolean)
- type (string)
- nullable (boolean, only for nullable field types)
- alphaChannel (boolean, only for color fields)
- recordColor (boolean, only for color fields)
- recordDueDate (boolean, only for date fields)
- integerDigits (int, only for decimal fields)
- decimalDigits (int, only for decimal fields)
- recordSort (boolean, only for integer fields)
- foreignTableId (int, only for record reference fields)
- recordName (boolean, only for short text fields)
- recordIcon (boolean, only for short text fields)
- recordAssignedTo (boolean, only for user fields)
- multiSelect (boolean, only for drop down fields)
- values (DropDownRow[], only for drop down fields)
- columns (string[] only for drop down fields)
DropDownRow
A value (row) in a drop down field .
- id (int)
- values (string[])
Result
The results of querying a data model or specific table.
- fields (ResultField[])
- rows (ResultRow[])
ResultField
A field (column) that has been included in the results of a query.
- fieldId (int)
- dataModelTableId (int, only returned from DataModels endpoints, not from Tables endpoints)
ResultRow
A result values row from querying a data model or specific table.
- id (int)
- active (int)
- values (any[])
RecordUpdate
Information about a record that has been created or updated.
- tableId (int)
- recordId (int)
DataModel
A data model that has been configured in Settings > Data Models.
- id (int)
- name (string)
- active (bool)
- dataModelTables (DataModelTable[])
DataModelTable
A reference to a table that has been included in a data model. Note that since a table can be in a data model multiple tables, dataModelTableId and tableId are not the same.
- id (int)
- tableId (int)
- tableName (string)
- alias (string)
- primary (boolean)
ResultsRequest
Filters for querying data from a table or data model.
- matchType (string: any, all, or none -- determines how the filters should apply similarly to the filtering form in app. Default is all)
- activeType (string: active, inactive, all -- determines what records should be returned. Applies to primary table in data model results. Default is active)
- filters (Filter[])
Filter
A filter inside a request.
- dataModelTableId (int, only used when filtering data model results, not table record results)
- fieldId (int)
- operator (string: all of the values of the ConditionType enum in Essembi.csproj except AssignedToMe and AssignedToMyTeam. This needs to be pulled into the documentation.)
- value (any)
- value2 (any -- only applies to operator "Between")
RecordValues
Values to assign to a record when creating or updating.
- values (object -- map of fieldId to field value)