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¶
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.comResource path
: Specifies the resource or resource collection, as detailed below in the APIQuery string (optional)
: Provides additional parameters as required.
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.
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
.A HTTP status code, this may be from the 2xx, 4xx or 5xx codes. Each service will indicate what possible returns are available.
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:
- Username/password request
- API Key, that is associated with any user account with NEXUS, this provides permanent access until the API Key is changed in NEXUS
- 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.
API Reference¶
Login | Logout | Business Objects | Get Row |
Get Row Field | Get Rows | Create Row | Delete Row |
Request Cookie Token | Validate Cookie Token | Post Blob | Get Function Object |
Execute Function | Version |
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. |