REST Service Specifications v2.0

The REST service provides an API consisting of a set of HTTP endpoints(methods) with the ability to create, retrieve, edit, or delete access to information stored in a NEXUS IC database. The REST service ensures all request are made through the NEXUS Storage engine which allows security and cohesion to be maintained and respected within the NEXUS database data.

Components of a REST API request/response

  1. The request URI, which consists of: {uri scheme} :// {uri host} /icweb.dll/ {resource-path} ? {query-string}

    • URI scheme: Indicates the protocol used to transmit the request. This is either http or https. We highly recommend using https in your deployments.
    • URI host: Specifies the domain name or IP address of the server where the REST service endpoint is hosted, such as sample.nexusic.com
    • Resource path: Specifies the resource or resource collection, as detailed below in the API
    • Query string (optional): Provides additional parameters as required.
  2. HTTP request message header fields:

    • A required HTTP method (or verb), which tells NEXUS what type of operation you are requesting. The NEXUS REST service support GET, PUT, POST, and DELETE.
    • Optional additional header fields, as required by the specified URI and HTTP method. For example, an Authentication token that can be used for client authorization.
  3. An Optional HTTP request message body, to support the URI and HTTP operation. For POST or PUT operations, the request body is required to have a MIME-type of application/json.

  4. A HTTP status code, this may be from the 2xx, 4xx or 5xx codes. Each service will indicate what possible returns are available.

  5. Optional HTTP response message body, MIME-encoded response objects are returned in the HTTP response body, such as a response from a GET method that is returning data. All results are return in the format JSON.

Authentication

There are 3 authentication options available using Login:

  1. Username/password request
  2. API Key, that is associated with any user account with NEXUS, this provides permanent access until the API Key is changed in NEXUS
  3. Email based login, that provides the capability for the REST api to email a request token to the user, this is then used to have the REST api issue a token lasting 90 days.

All three of these authorization methods, issue a temporary HASH that expires 60 minutes after the last request.

Once the HASH is received from a valid authorization request to the server, this must be specified in subsequent requests via a query string parameter.

GET /icweb.dll/bo/?hash={value}

Examples

Extensive examples of using the REST API with powershell scripting are available in the below topic.

REST Examples

Field Types

Name Value Native/JSON Type Display Field Type
FT_STRING 1 string string
FT_NUMBER 3 integer (whole number) integer
FT_NUMERIC 6 float float
FT_BOOLEAN 5 bool bool
FT_CURRENCY 7 float float
FT_DATE 9 string (iso 8601 date/time) string
FT_TIME 10 string (iso 8601 date/time) string
FT_DATETIME 11 string (iso 8601 date/time) string
FT_POSITION 39 string (iso 8601 date/time) string
FT_LOOKUP 37 integer string
FT_IMAGE 15 binary binary
FT_MEMO 16 string string
FT_PASSTHRU 18 non-stored based on field type of the destination field. (this is recursive)
FT_GUID 17 string string
FT_TABLE 38 non-stored not-visible
FT_CALC 40 non-stored based on result type of assigned function.
FT_GLOBALTABLE 42 non-stored based on field type of global field.