API Library

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)
Back to help