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.

Note

As of NEXUS version 6.9, REST Service Specifications v1.0 is no longer supported.

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

API Reference

Login

Logout

Business Objects

Get Row

Get Row Field

Get Rows

Create / Update Row

Delete Row

Request Cookie Token

Validate Cookie Token

Post Blob

Get Function Object

Execute Function

Version

Import

Report Details

Job Status

License

Settings

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.