API Reference
The Intelex API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors.
Getting Started
API Endpoint - replace intelex_url with the full URL path to your Intelex system
https://intelex_url/api/v2/
To begin using the Intelex API you will need:
- Your own instance of the Intelex platform with the REST API enabled
- A valid Intelex system user account
- The full URL to your Intelex system
- A basic understanding of the Intelex Application model.
Authentication
Example Requests:
// Basic Authentication
var request = require("request");
var options = {
headers: { Authorization: "Basic [insert credentials here]" }
};
//ApiKey Authentication
var request = require("request");
var options = {
headers: { Authorization: "ApiKey [insert key here]" }
};
// Secure Access Token Authentication
var request = require("request");
var options = {
headers: { Authorization: "Bearer [insert Access token here]" }
};
// Basic Authentication
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Basic [insert credentials here]");
// ApiKey Authentication
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "ApiKey [insert key here]");
// Secure Access Token Authentication
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer [insert Access token here]");
The Intelex API supports three methods for authentication: Basic, ApiKey, and Secure. All API requests must be made over HTTPS and API requests without authentication will fail. Only Admin and Full Access users can use ApiKey and Secure authentication.
Security on data for all types of authentication is managed by the platform security configuration. API requests will maintain the security settings configured for the user on the Intelex platform.
Basic authentication is performed via HTTP Basic Auth with your Intelex user credentials (Username:Password). The credentials are verified by Intelex and access granted or denied accordingly.
ApiKey authentication can be performed by generating API access key(s) from the Intelex User Profile menu (note that this page is only accessible to full-access and admin users). The unique generated key can then be used to authenticate with the Intelex REST API.
Starting at Platform Version 6.6.7, secure token based authentication is supported by the V6 API. This form of authentication needs to be enabled by Intelex. During the authentication process, the client provides the ‘client id’ and ‘client secret’ to the authentication endpoint, along with the audience and grant type, as shown in the example. In response, the API furnishes an access token that comes with a specified expiration. After successful authentication, clients gain access to V6 API endpoints.
Example Requests:
Body for Authentication Endpoint
{"client_id":"Client ID Data",
"client_secret":"Client Secret Data",
"audience":"https://api.intelex.com/v6/",
"grant_type":"client_credentials"}
Example Response:
{
"access_token": "Generated Bearer Access Token Used For Validation",
"expires_in": "Token Expiry Time In Seconds",
"token_type": "Bearer"
}
Get endpoint, secured client id and client secret
Login to the V6 application. Navigate to System Administration, User Administration, and then Navigate to API Access. Select the secured API from the API Access page; the endpoint, client id and client secret will be displayed on the details page. Use these to obtain an access token via API end point.
Data Format
The Intelex API only supports JSON as the data format for requests and responses.
Response Codes
Example error response
{
"error": {
"code": "string",
"message": "string"
}
}
The Intelex REST API will respond with the following HTTP status codes:
Response Code | Meaning |
---|---|
200 | Success – Enjoy your data! |
201 | Created – We created the record! |
204 | No Content – Your request was successful, but we don’t have anything more to tell you |
400 | Bad Request – Something is wrong with your request |
401 | Unauthorized – Your credentials are wrong |
403 | Forbidden – You do not have permission to access the resource |
404 | Not Found – The object or navigation property you are trying to access doesn’t exist |
405 | Method Not Allowed – We won’t let you do that |
429 | Too Many Requests – You have sent too many requests and have to wait till you can send more |
500 | Internal Server Error – We had a problem with our server. Try again later |
501 | Not Implemented – What you are trying to do doesn’t work…yet. |
Versioning
When we make backwards-incompatible changes to the API, we release new versions. The current version is v2 and can be determined with our API base path /api/v2/. Read our Intelex platform release notes to see our API changelog.
API Rate Limiting / Quotas
To ensure Intelex Platform is reliable and has the expected performance for all users, we limit the number of API calls an API user (or application) can make within a given time period. If the limit is exceeded, the API user may be throttled and subsequent requests within the same period will fail (status code 429).
Limit
The Intelex Platform API Rate limit is 2 requests per second.
Quota headers
Quota details may be passed back to the API user/application via response headers.
Header | Description | Sample value |
---|---|---|
X-RateLimit-Limit | The request limit per specified unit of time. | 100 |
X-RateLimit-Remaining | The remaining number of requests that API consumers can send in the current time window. | 75 |
X-RateLimit-Reset | The UTC epoch timestamp indicating the time of the next quota reset. Sent only when quota remains. | 1521214822 |
X-RateLimit-Next | The UTC epoch timestamp indicating the time of the next quota reset. Sent only when quota is full. | 1521215291 |
Object Data API
Object Data API Endpoint - replace intelex_object with the system name of your object
https://intelex_url/api/v2/object/intelex_object
The Object Data API gives you the ability to create, retrieve, update, and delete data in your Intelex application objects. Each Object Data API resource is an Intelex application object. Access each resource by using the system name of the object in the API endpoint URL. The data sent and returned with your API requests are the fields that exist on the object you are accessing. The system name of fields is used in every request and response.
Your instance of Intelex may include system and custom objects. System objects include general platform objects and standard application objects. Custom objects are any objects created from scratch for your organization. All of these objects have unique system names. You’ll find the system name on the object detail page, in the System Name field.
Record Metadata
Example response with record metadata
{
"value": {
"@odata.type": "#Intelex.IncidentsObject",
"@odata.id": "https://intelex_url/api/v2/object/IncidentsObject(UID)",
"@odata.editLink": "https://intelex_url/api/v2/object/IncidentsObject(UID)"
}
}
Some records returned from the API will contain a few properties that provide some useful information.
Property | Description |
---|---|
@odata.type | The entity type of the record. Useful when requesting records from parent objects |
@odata.id | A URL that can be used to access the record. To remove this property from your requests, append the query string key/value of: noIdLink=1 to your request URI |
@odata.editLink | Denotes if the record can be modified by the user making the request. Same as @odata.id link. To remove this property from your requests, append the query string key/value of: noEditLink=1 to your request URI |
Record Limits
Example response with pagination link
{
"@odata.nextLink": "https://intelex_url/api/v2/object/IncidentsObject?$skip=500"
}
We’ve provided a convenient way to access more data in any request for sequential data where the number of records exceeds 500. Simply call the url in the nextLink parameter and we’ll respond with the next set of data.
Object Relational Data
Many Intelex objects have relations to other objects. These relations are configured as relation type or lookup type fields. These fields are accessible via the API as navigation properties. Every object will have navigation properties that can be used to access its related data in another object. You’ll need to use the system name of the field configured with the related object in order to access related data.
You can access related data by using the $expand query option or you can navigate to related data using a URL path. You can traverse multiple levels of relational data by navigating through the URL path or with nested $expand queries.
Please note: Trying to access or modify relation fields that are self-referencing will not work (i.e. A relation type field on an object that is a relation to itself)
System Objects
Sometimes you might need to access data from system objects that contain data such as Employees or Locations. Here are some of the system objects for your reference:
System Object | Description | System Name |
---|---|---|
Employees | Intelex Employees | SysEmployeeEntity |
Locations | Intelex locations | SysLocationEntity |
Groups | Intelex Employee groups | SysGroupEntity |
EDIS Staging Table | Staging table used to process EDIS | EmployeeStagingEntity |
Requesting Object Data
Requesting records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
]
}
Returns all records from an Intelex object that the user is authorized to view
GET /api/v2/object/{intelex_object}
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
Requesting a specific record
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
Returns an individual record from the Incidents object by referencing the UID of the record
GET /object/{intelex_object}({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
id | The Intelex UID of the record being requested |
Requesting related records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
]
}
Navigating to related records allows clients to request only the relational data belonging to a parent record. This includes relation type fields, lookup type fields, private document attachments, and workflow.
GET /object/{intelex_object}({id})/{navigation_property}
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
id | The Intelex UID of the record being requested |
navigation_property | The Intelex system name of the relation type or lookup type field |
Requesting a specific related record
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents(UID)' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents(UID)");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
Navigating to related records allows clients to request only the relational data belonging to a parent record. This includes relation type fields, lookup type fields, private document attachments, and workflow.
GET /object/{intelex_object}({id})/{navigation_property}({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
id | The Intelex UID of the record or related record being requested |
navigation_property | The Intelex system name of the relation type or lookup type field |
Querying Object Data
Selecting record fields
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
qs: { '$select': 'IncidentNo' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject?$select=IncidentNo");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"IncidentNo": 0
}
]
}
The $select system query option allows clients to request a limited set of fields for each record.
GET /object/{intelex_object}?$select={field_name}
Option | Example Values |
---|---|
Select a single field | $select=IncidentNo |
Select mutliple fields | $select=IncidentNo, Description |
URL Parameters
Parameter | Description |
---|---|
field_name | Field name(s) to include in response |
Counting records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
qs: { '$count': 'true' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject?$count=true");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.count": 1,
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
]
}
The $count system query option with a value of true specifies that the total count of items within a collection matching the request be returned along with the result.
GET /object/{intelex_object}?$count=true
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
Paginating records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
qs: { '$skip': '10', '$top': '5' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject?$skip=10&$top=5");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
]
}
The $top system query option requests the number of items in the queried collection to be included in the result. The $skip query option requests the number of items in the queried collection that are to be skipped and not included in the result.
GET /object/{intelex_object}?$top={top_n}&$skip={skip_n}
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
Query Parameters
Parameter | Description |
---|---|
top_n | Number of items to be included in the response |
skip_n | Number of items to be skipped |
Sorting records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
qs: { '$orderby': 'DateCreated desc' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject?$orderby=DateCreateddesc");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
]
}
The $orderby system query option allows clients to request records in either ascending order using ‘asc’ or descending order using ‘desc’. Default is ascending. The request below sorts the collection by date in descending order.
GET /object/{intelex_object}?$orderby={field_name}
Option | Example Values |
---|---|
Sort by descending | $orderby=DateCreated desc |
Sort by ascending | $orderby=DateCreated asc |
Sort by drop-down value | $orderby=Severity/Caption |
Sort by multiple fields | $orderby=DateCreated, Severity/Caption |
Sort by workflow person responsible | $orderby=Workflow/PersonResponsible/Name |
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
Query Parameters
Parameter | Description |
---|---|
field_name | Fields that you want to sort by |
Filtering records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
qs: { '$filter': 'IncidentNo eq 1000' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject?$filter=IncidentNo eq 10");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
]
}
The $filter system query option allows clients to filter a collection of records. The expression specified with $filter is evaluated for each record in the collection, and only items where the expression evaluates to true are included in the response. There are built-in filter operators that can be used in order to retrieve the data you need
GET /object/{intelex_object}?$filter={filter_expression}
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
Query Parameters
Parameter | Description |
---|---|
filter_expression | Filter expression used to query data |
Comparison Operators:
Name | Description | Example Values |
---|---|---|
eq | Equal | Severity/Value eq ‘Moderate’ |
ne | Not equal | Description ne null |
gt | Greater than | IncidentNo gt 1000 |
ge | Greater than or equal | DateCreated ge 2017-01-01 |
lt | Less than | IncidentNo lt 1000 |
le | Less than or equal | DateCreated le 2014-11-24T12:55:05.35-05:00 |
Logical Operators:
Name | Description | Example Values |
---|---|---|
and | Logical and | Description ne null and Workflow/PersonResponsible/Name eq ‘AC Slater’ |
or | Logical or | Cause eq true or IncidentNo gt 1000 |
not | Logical not | not(contains(Description, ‘accident’)) |
Grouping Operators:
Name | Description | Example Values |
---|---|---|
( ) | Precedence grouping | IncidentNo gt 1000 and (Severity/Value eq ‘Moderate’ or contains(Description, ‘fall’)) |
Functions:
Name | Description | Example Values |
---|---|---|
contains(Field, Value) | Sub-string search | contains(Description, ‘accident’)) |
Filtering using Relation Fields:
Description | Example Values |
---|---|
Filtering by drop-down value | Severity/Value eq ‘Moderate’ |
Filtering by sub-record values | SubIncidents/any(x:x/SubIncidentId gt 1000) |
Filtering using Workflow:
Description | Example Values |
---|---|
Filter based on person responsible | Workflow/PersonResponsible/Name eq ‘AC Slater’ |
Filter based on workflow status (enum) | Workflow/WorkflowStatus eq Enum.WorkflowStatusType'Completed’ |
Filtering tasks assigned to you
assignedToMe()
is a function that can be used in expressions to easily filter tasks assigned to you as an individual, as a member of a location role, or member of a group. Requires Web Platform Release 6.5.131 or higher.
Description | Example Values |
---|---|
Filter my tasks on current object | $filter=assignedToMe() |
Filter others’ tasks on current object | $filter=not assignedToMe() |
Filter tasks on a M:1 field on the current object | $filter=assignedToMe(Audit/Workflow/PersonResponsible/Id) |
Filter others’ tasks on a M:1 field on the current object | $filter=not assignedToMe(Audit/Workflow/PersonResponsible/Id) |
When filtering for a field, you have to specify the full path up to the Id of the Person Responsible, as in the examples above.
You can only access the records you have permission to view.
Filter alias
@me is an alias that can be used in expressions to filter based on your identity’
Description | Example Values |
---|---|
Filter where you are the person responsible | $filter=Workflow/PersonResponsible eq @me |
Expanding related records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
qs: { '$expand': 'Location' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject?$expand=Location");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string",
"Location": {
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"DateCreated": "2015-01-28T16:24:19.63-05:00",
"DateModified": "2016-04-21T15:02:38.723-04:00",
"Address1": null,
"Address2": null,
"Area": null,
"BusinessUnits": null,
"City": null
}
}
]
}
The $expand system query option specifies the related object records and lookup object records to be included in-line with requested records. The parameter accepts a comma-separated list of relation field names. Use the system name of the relation type field or lookup type field in your query.
GET /object/{intelex_object}?$expand={relation_field}
Option | Example Values |
---|---|
Expand a single relation field | $expand=Severity |
Expand multiple relation fields | $expand=Severity, Workflow |
Expand all relations | $expand=* |
Nested expand | $expand=Workflow($expand=PersonResponsible) |
Select expanded fields | $expand=Severity($select=Name) |
Sort expanded collection | $expand=SubIncidents($orderby=DateCreated) |
Filter expanded collection | $expand=SubIncidents($filter=Description ne null) |
Filter and select expanded collection | $expand=SubIncidents($filter=Description ne null;$select=Description) |
Expand child locations on SysLocationEntity system object - 1 level | /object/SysLocationEntity?$expand=ChildLocations |
Expand child locations on SysLocationEntity system object - multi-level | /object/SysLocationEntity?$expand=ChildLocations($expand=ChildLocations) |
Expand parent location on SysLocationEntity system object | /object/SysLocationEntity?$expand=ParentLocation |
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
Query Parameters
Parameter | Description |
---|---|
relation_field | Relation field used to request related object data |
Modifying Object Data
Create a record
Example Request
var request = require("request");
var options = { method: 'POST',
url: 'https://intelex_url/api/v2/object/IncidentsObject',
headers: { 'content-type': 'application/json' },
body:
{ ActionsTaken: 'string',
Date: '2017-02-13T22:15:30.203Z',
Description: 'string',
IncidentNo: 0,
ReportedDate: '2017-02-13T22:15:30.203Z',
SuspectedCause: 'string' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n \"ActionsTaken\": \"string\",\r\n \"Date\": \"2017-02-13T22:15:30.203Z\",\r\n \"Description\": \"string\",\r\n \"IncidentNo\": 0,\r\n \"ReportedDate\": \"2017-02-13T22:15:30.203Z\",\r\n \"SuspectedCause\": \"string\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
Example request of creating a record and setting a location value:
{
"Location@odata.bind": "https://intelex_url/api/v2/object/LocationObject(Id)"
}
Example request of creating a record and setting a lookup type value:
{
"Severity@odata.bind": "https://intelex_url/api/v2/object/SeverityLookupObject(Id)"
}
Example request of creating a record and set workflow recurrence or person responsible:
{
"Workflow": {
"PersonResponsible@odata.bind": "https://intelex_url/api/v2/object/EmployeeObject(UID)",
"RecurringSeries": {
"Frequency": "RRULE:FREQ=HOURLY",
"StartDate": "2017-06-06T02:30:00-05:00",
"EndDate": "2017-07-07T02:30:00-05:00"
}
}
}
Example request of creating a record and attaching related records:
{
"RelatedIncidents@odata.bind": [
"https://intelex_url/api/v2/object/RelatedIncidentObject(Id)",
"https://intelex_url/api/v2/object/RelatedIncidentObject(Id)"
]
}
Creates a record with values in the object specified in the path. A client generated GUID can be used when creating records. Creating a record also supports setting a value for related fields, lookup types, or workflow person responsible. You can do this by binding the @odata.id property of the related record to the field.
POST /object/{intelex_object}
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
Body Parameters
Parameter | Description |
---|---|
field_name | The value you want to set for your object field. Replace field_name with the system name of the object field |
relation_field@odata.bind | The @odata.id of the related record you want to associate to a relational field. Replace relation_field with the system name of the relation type field you want to set |
Header Parameters
When you create a record you also have the opportunity to execute an available workflow action within the same request. This is useful if you’d like a record to move to stage when it is created. In order to execute a workflow stage action within a create request, you’ll need to provide a header parameter.
Parameter | Description | Required | Example Value |
---|---|---|---|
ActionToExecute | UID of the workflow stage action | No | Id=797bbb3b-b485-4e73-a21c-2b9d5454f8ab |
Create a sub-record
Example Request
var request = require("request");
var options = { method: 'POST',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents',
headers: { 'content-type': 'application/json' },
body:
{ ActionsTaken: 'string',
Date: '2017-02-13T22:15:30.203Z',
Description: 'string',
IncidentNo: 0,
ReportedDate: '2017-02-13T22:15:30.203Z',
SuspectedCause: 'string' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n \"ActionsTaken\": \"string\",\r\n \"Date\": \"2017-02-13T22:15:30.203Z\",\r\n \"Description\": \"string\",\r\n \"IncidentNo\": 0,\r\n \"ReportedDate\": \"2017-02-13T22:15:30.203Z\",\r\n \"SuspectedCause\": \"string\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"ActionsTaken": "string",
"Date": "2017-02-13T22:15:30.203Z",
"Description": "string",
"IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z",
"SuspectedCause": "string"
}
You can also create related records by sending POST requests to navigation properties. This request will create the record in the related object referenced by the navigation_property. Setting location,person responsible, and attaching related records is also supported when creating related records.
POST /object/{intelex_object}({id})/{navigation_property}
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the parent record |
navigation_property | The Intelex system name of the relation type field that supports sub-records i.e. “Has a list of attached” |
Body Parameters
Parameter | Description |
---|---|
field_name | The value you want to set for your related object field. Replace field_name with the system name of the object field |
Header Parameters
When you create related records you also have the opportunity to execute an available workflow action within the same request. This is useful if you’d like a record to move to stage when it is created. In order to execute a workflow stage action within a create request, you’ll need to provide a header parameter.
Parameter | Description | Required | Example Value |
---|---|---|---|
ActionToExecute | UID of the workflow stage action | No | Id=797bbb3b-b485-4e73-a21c-2b9d5454f8ab |
Update a record
Example Request
var request = require("request");
var options = { method: 'PATCH',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)',
headers: { 'content-type': 'application/json' },
body: { Description: 'string' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)");
var request = new RestRequest(Method.PATCH);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n \"Description\": \"string\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Example of updating a location value:
{
"Location@odata.bind": "https://intelex_url/api/v2/object/LocationObject(UID)"
}
Example of updating a lookup type value:
{
"Severity@odata.bind": "https://intelex_url/api/v2/object/SeverityLookupObject(UID)"
}
Example of attaching related records:
{
"RelatedIncidents@odata.bind": [
"https://intelex_url/api/v2/object/RelatedIncidentObject(UID)",
"https://intelex_url/api/v2/object/RelatedIncidentObject(UID)"
]
}
Updates a record in the object specified in the path. You can update values for related fields, lookup types by binding the @odata.id property of the related record to the field.
PATCH /object/{intelex_object}({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being updated |
Body Parameters
Parameter | Description |
---|---|
field_name | The value you want to set for your object field. Replace field_name with the system name of the object field |
relation_field@odata.bind | The @odata.id of the related record you want to associate to a relational field. Replace relation_field with the system name of the relation type field you want to set |
Header Parameters
When you update a record you also have the opportunity to execute an available workflow action within the same request. This is useful if you’d like a record to move to stage when it is updated. In order to execute a workflow stage action within an update request, you’ll need to provide a header parameter.
Parameter | Description | Required | Example Value |
---|---|---|---|
ActionToExecute | UID of the workflow stage action | No | Id=797bbb3b-b485-4e73-a21c-2b9d5454f8ab |
Delete a record
Example Request
var request = require("request");
var options = { method: 'DELETE',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
Deletes an individual record in the Intelex object specified in the path. If SoftDelete is enabled for the object then the record will be archived instead.
DELETE /object/{intelex_object}({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
id | The Intelex UID of the record being updated |
Delete a sub-record
Example Request
var request = require("request");
var options = { method: 'DELETE',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents(UID)' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/SubIncidents(UID)");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
Deletes an individual sub-record in the Intelex object specified in the path. If SoftDelete is enabled for the object then the record will be archived instead.
DELETE /object/{intelex_object}({id})/{navigation_property}({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object being requested eg. IncidentsObject |
id | The Intelex UID of the record or related record being accessed |
navigation_property | The Intelex system name of the relation type field |
Removing a single value reference
Example Request
var request = require("request");
var options = { method: 'DELETE',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Severity/$ref' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Severity/$ref");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
Sets the value in a drop-down to null. This call is useful if you need to remove a value that’s been set for a record.
DELETE /object/{intelex_object}({id})/{navigation_property}/$ref
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record |
navigation_property | The Intelex system name of the relation type field - must be a drop-down relation type field |
Removing a multi-value reference
Example Request
var request = require("request");
var options = { method: 'DELETE',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/RelatedIncidents(UID)/$ref' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/RelatedIncidents(UID)/$ref");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
This request detaches a related records. It deletes the relationship, but does not delete the related record itself.
DELETE /object/{intelex_object}({id})/{navigation_property}({id})/$ref
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record or related record |
navigation_property | The Intelex system name of the relation type field - must be references associated relation type field |
Object Workflow Data
Requesting Workflow Data
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"DateModified": "2016-07-14T14:32:05.44-04:00",
"DateCreated": "2016-04-25T12:54:18.563-04:00",
"DateNotRequired": null,
"DueDate": null,
"DueDateType": "string",
"EntityId": "string",
"EntityName": "",
"IsVirtual": false,
"LocationId": "string",
"ObjectId": "string",
"WorkflowStatus": "string"
}
This request allows you to retrieve the workflow information for a given record.
GET /object/{intelex_object}({id})/Workflow
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Requesting Status
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/Status' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/Status");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"@odata.type": "string"
"@odata.id": "string",
"Id": "string",
"DateCreated": "2017-03-08T11:52:49.723-05:00",
"DateModified": "2017-03-08T11:52:49.723-05:00",
"Description": "Draft",
"DueDateExpression": null,
"DueDateLengthType": null,
"DueDateLengthValue": null,
"InheritedPermission": true,
"IsFirstStage": true,
"IsStandardPermission": true,
"Name": "Draft",
"RecipientExpression": null,
"RecipientType": "string",
"StageAction": null,
"StayInEditMode": false,
"SystemName": "Draft",
"TaskType": "Action"
}
This request allows you to retrieve the information about the workflow status that the record is currently in.
GET /object/{intelex_object}({id})/Workflow/Status
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Requesting Current Stage
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/CurrentStage' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/CurrentStage");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"DateCreated": "2017-03-08T11:52:49.723-05:00",
"DateModified": "2017-03-08T11:52:49.723-05:00",
"Description": "Draft",
"DueDateExpression": null,
"DueDateLengthType": null,
"DueDateLengthValue": null,
"InheritedPermission": true,
"IsFirstStage": true,
"IsStandardPermission": true,
"Name": "Draft",
"RecipientExpression": null,
"RecipientType": "string",
"StageAction": null,
"StayInEditMode": false,
"SystemName": "Draft",
"TaskType": "Action"
}
This request allows you to retrieve the information about the workflow stage that the record is currently in.
GET /object/{intelex_object}({id})/Workflow/CurrentStage
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Requesting Stage Actions
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/CurrentStage/Actions' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/CurrentStage/Actions");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"DateModified": "2017-03-08T11:52:49.927-05:00",
"DateCreated": "2017-03-08T11:52:49.927-05:00",
"Confirmation": "string",
"FlowDefinition": "string",
"IsHidden": false,
"MobileCaption": null,
"Name": "string",
"NavigateBackEnabled": true,
"Order": 1,
"RequireSignature": true,
"SystemName": "string",
"Tooltip": null,
"TriggerCondition": "",
"UrlIcon": "",
"UserActionsRequired": true
}
]
}
This request allows you to retrieve the information about the workflow stage actions available for a record in the current stage. Note: When a workflow is published, the action IDs are created. If someone updates a workflow, they have to re-publish it for the changes to take effect, and all the action IDs change. Typically, you don’t need to worry about this, but if your action IDs stop working, you should check them by running a dummy record through the workflow.
GET /object/{intelex_object}({id})/Workflow/CurrentStage/Actions
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Requesting Person Responsible
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/PersonResponsible' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/PersonResponsible");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"@odata.type": "string"
"@odata.id": "string",
"Id": "string",
"DateCreated": "2010-06-20T20:00:00-04:00",
"DateModified": "2015-06-17T15:21:51.813-04:00",
"CustomField": null,
"IsSystem": false,
"Name": "string"
}
This request allows you to retrieve the individual assigned to the workflow stage of the record. Workflow and PersonResponsible are navigation properties that can be accessed using the $expand system query option as well.
GET /object/{intelex_object}({id})/Workflow/PersonResponsible
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Requesting Frequency
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/RecurringSeries' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/RecurringSeries");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"@odata.type": "string"
"@odata.id": "string",
"Id": "string",
"DateCompleted": null,
"EndDate": "2017-07-07T03:30:00-04:00",
"EntityId": "string",
"Frequency": "RRULE:FREQ=HOURLY",
"GracePeriod": 0,
"IsActive": true,
"NextScheduledDate": "2017-06-06T04:30:00-04:00",
"OriginalStartDate": "2017-06-06T03:30:00-04:00",
"StartDate": "2017-06-06T03:30:00-04:00"
}
This request allows you to retrieve the workflow frequency applied to the record. The frequency property value is in iCal format.
GET /object/{intelex_object}({id})/Workflow/RecurringSeries
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Executing a Stage Action
Example Request
var request = require("request");
var options = { method: 'POST',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/CurrentStage/Actions(UID)/Action.ExecuteStageAction' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow/CurrentStage/Actions(UID)/Action.ExecuteStageAction");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
This request allows you to push a record through its workflow stages. Note: When a workflow is published, the action IDs are created. If someone updates a workflow, they have to re-publish it for the changes to take effect, and all the action IDs change. Typically, you don’t need to worry about this, but if your action IDs stop working, you should check them by running a dummy record through the workflow.
POST /object/{intelex_object}({id})/Workflow/CurrentStage/Actions(id)/Action.ExecuteStageAction
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record or action being accessed |
Updating Frequency
Example Request
var request = require("request");
var options = { method: 'PATCH',
url: 'https://intelex_url/api/v2/object/IncidentsObject%28UID%29/Workflow/RecurringSeries',
headers: { 'content-type': 'application/json' },
body:
{ Frequency: 'RRULE:FREQ=HOURLY',
StartDate: '2017-06-06T03:30:00-04:00' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject%28UID%29/Workflow/RecurringSeries");
var request = new RestRequest(Method.PATCH);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n \"Frequency\": \"RRULE:FREQ=HOURLY\",\n \"StartDate\": \"2017-06-06T03:30:00-04:00\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
This request allows you to modify the workflow frequency for a given record. The Frequency property will only accept iCal formatted strings.
PATCH /object/{intelex_object}({id})/Workflow/RecurringSeries
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record or action being accessed |
Body Parameters
Parameter | Description |
---|---|
Frequency | iCal formatted string representing the calendar frequency |
StarDate | Date you want the frequency to begin |
EndDate | Date you want the frequency to end |
Updating Person Responsible
Example Request
var request = require("request");
var options = { method: 'PATCH',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow',
headers: { 'content-type': 'application/json' },
body: { 'PersonResponsible@odata.bind': 'https://intelex_url/api/v2/object/EmployeeObject(UID)' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/Workflow");
var request = new RestRequest(Method.PATCH);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n\t\"PersonResponsible@odata.bind\": \"https://intelex_url/api/v2/object/EmployeeObject(UID)\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
This request allows you to modify the workflow person responsible for a given record. This is the method used to re-assign tasks for a given record.
PATCH /object/{intelex_object}({id})/Workflow
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record or action being accessed |
Body Parameters
Parameter | Description |
---|---|
PersonResponsible@odata.bind | the @odata.id of the employee you want to assign as person responsible |
Object Attachments
There are two types of file attachments on records. Files can be attached to the Private Document Attachment grid on a record or to the File type field of an object. To access files in the Private Document Attachment grid use the system reserved property: ILX.Attachments. To access files in the File type field use the system name of the field. Document Control uses this file type field and an example is added below showing how to access the released and effective version of document control files.
Requesting Private Documents
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject%28UID%29/ILX.Attachments' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject%28UID%29/ILX.Attachments");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.id": "string",
"@odata.mediaContentType": "string",
"Id": "string",
"AttachmentName": "string",
"Bytes": 0,
"IsDraft": true,
"ObjectRecordId": "string",
"Uri": "string",
"Attachment@odata.mediaReadLink": "string"
}
]
}
This request returns a list of all private document attachments belonging to a given record. ILX.Attachments is a system reserved property for working with private document attachments. Any object that has private document attachments enabled will be able to access this property and request the private documents that belong to a record.
GET /object/{intelex_object}({id})/ILX.Attachments
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Downloading Private Documents
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.Attachments(UID)',
headers:
{ prefer: 'attachment=thumbnail',
accept: 'application/octet-stream' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject%28UID%29/ILX.Attachments(UID)");
var request = new RestRequest(Method.GET);
request.AddHeader("prefer", "attachment=thumbnail");
request.AddHeader("accept", "application/octet-stream");
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.id": "string",
"@odata.mediaContentType": "string",
"Id": "string",
"AttachmentName": "string",
"Bytes": 0,
"IsDraft": true,
"ObjectRecordId": "string",
"Uri": "string",
"Attachment@odata.mediaReadLink": "string"
}
By default, this request returns the metadata of a specific private document attachment. When you provide the Accept header value of octet-stream, then the file will be downloaded instead. If it is an image, you also have the ability to request it in a thumbnail size.
GET /object/{intelex_object}({id})/ILX.Attachments({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record or document being accessed |
Header Parameters
Parameter | Description | Example Value |
---|---|---|
Accept | Provide the content type in order to download the file | application/octet-stream |
Prefer | Used to request a thumbnail version of an image file | attachment=thumbnail |
Downloading Document Control Files
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/DocDocumentEntity(UID)/CurrentRevision/File',
headers:
{ accept: 'application/octet-stream' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/DocDocumentEntity%28UID%29/CurrentRevision/File");
var request = new RestRequest(Method.GET);
request.AddHeader("accept", "application/octet-stream");
IRestResponse response = client.Execute(request);
Example Response
{
"Id": "string",
"DateModified": "string",
"DateCreated": "string",
"Content@odata.mediaReadLink": "string",
"FileExtension": "string",
"Name": "string",
"Size": 0
}
By default, this request returns the metadata of a released and effective document of a document control record. When you provide the Accept header value of octet-stream, then the file will be downloaded instead. Document Control files use the File field type. This field type is available on any object and can be accessed like any other navigation property to download files. The example below is specific to Document Control.
GET /object/DocDocumentEntity({id})/CurrentRevision/File
URL Parameters
Parameter | Description |
---|---|
id | The Intelex UID of the record being accessed |
PdfSecurity | The level of security for pdf. Values: None = 1 or Default = 0 |
Header Parameters
Parameter | Description | Example Value |
---|---|---|
Accept | Provide the content type in order to download the file | application/octet-stream |
Attaching Private Documents
Example Request
var fs = require("fs");
var request = require("request");
var options = { method: 'POST',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.Attachments',
headers: { 'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' },
formData:
{ '':
{ value: 'fs.createReadStream("C:\\Document.docx")',
options:
{ filename: 'C:\\Document.docx',
contentType: null } } } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.Attachments");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW");
request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"\"; filename=\"C:\\Document.docx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.id": "string",
"@odata.mediaContentType": "string",
"Id": "string",
"AttachmentName": "string",
"Bytes": 0,
"IsDraft": true,
"ObjectRecordId": "string",
"Uri": "string",
"Attachment@odata.mediaReadLink": "string"
}
This request attaches a private document to a record. The file must be attached to the request as form-data. Files that exceed 10MB will not be attached. If the UID of the record does not exist, the file will be attached in draft mode. Once a record is created with the same record UID in the attach request, then the attachment will be associated to the record and will no longer be in draft mode.
POST /object/{intelex_object}({id})/ILX.Attachments
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record being accessed |
Body Parameters
Parameter | Type | Description |
---|---|---|
multipart/formData | file | The file you want to attach to the record. Cannot exceed 10MB. |
Detaching Documents
Example Request
var request = require("request");
var options = { method: 'DELETE',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.Attachments(UID)' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.Attachments(UID)");
var request = new RestRequest(Method.DELETE);
IRestResponse response = client.Execute(request);
This request deletes the specified document attached to a given record. ILX.Attachments is a system reserved property for working with private document attachments. Any object that has private document attachments enabled will be able to access this property and request the private documents that belong to a record.
DELETE /object/{intelex_object}({id})/ILX.Attachments({id})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the record or document being accessed |
Uploading Document Control Files
The first step for File type is to upload document. The file must be attached to the request as form-data. File size is configurable via web.config setting AttachmentMaxFileSize. There are two endpoints to upload file, difference is in the responses.
Example Request
var fs = require("fs");
var request = require("request");
var options = { method: 'POST',
url: 'https://intelex_url/api/v2/FileUpload',
headers: { 'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' },
formData:
{ '':
{ value: 'fs.createReadStream("C:\\Document.docx")',
options: { filename: 'C:\\Document.docx', contentType: null } }
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
Example Response
[ "47df4cec-50ad-4da5-a820-7827985a77bb" ]
Endpoint 1
This will return UID for the newly created file. The UID then can be attached to a record.
POST /FileUpload
Header Parameters
Parameter | Description | Value |
---|---|---|
content-type | The multipart/form-data content type is intended to allow information providers to express file upload requests uniformly, and to provide a MIME-compatible representation for file upload responses. | multipart/form-data |
Returns
201 Created with Array of File UID
Example Request
var fs = require("fs");
var request = require("request");
var options = { method: 'POST',
url: 'https://intelex_url/api/v2/object/SysFileInfoEntity',
headers: { 'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' },
formData:
{ '':
{ value: 'fs.createReadStream("C:\\Document.docx")',
options: { filename: 'C:\\Document.docx', contentType: null } }
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
Example Response:
{
"@odata.context": “string”,
"@odata.type": "#Intelex.SysFileInfoEntity",
"@odata.id": “string”,
"@odata.editLink": "string",
"Id": "string",
"DateModified": "string",
"DateCreated": "string",
"Content@odata.mediaReadLink": "string",
"FileExtension": "string",
"Name": "string: filename",
"Size": number
}
Endpoint 2
This will return Edm for the newly created file. The @data.id link then can be used to attached to a record.
POST /object/SysFileInfoEntity
Header Parameters
Parameter | Description | Value |
---|---|---|
content-type | The multipart/form-data content type is intended to allow information providers to express file upload requests uniformly, and to provide a MIME-compatible representation for file upload responses. | multipart/form-data |
Returns
201 Created with newly created SysFileInfoEntity
Attaching Document Control Files
Once you have @odata.id of FileInfo, you can use that to attach to an object with File field. It is similar to Modifying Object Data
Example Request
{
....
"FileInput@odata.bind": "http://torwdtahmed02.intelex.com/devlogin/inspections/api/v2/object/SysFileInfoEntity(47df4cec-50ad-4da5-a820-7827985a77bb)"
}
POST /object/{intelex_object}
Request Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
Request Body
If intelex object has field FileInput (of type File), then Post body should contain this to attach file
“FileInput@odata.bind”: @odata.id from file upload response"
Detaching Document Control File
It is same as detaching a reference field in Modifying Object Data. There is Intelex service that periodically cleans orphan files.
Object Merge Templates
Object merge templates allow you to extract data from any Intelex object and export it into a Microsoft Word® or PDF document, depending on the configuration of the merge template. By mapping ‘MergeFields’ in the Word document to data fields in a particular Intelex object, you are able to export dynamically generated files populated with object record data you need, such as employee names, hire dates, etc. You can use dot notations to drill down to child objects and populate their data.
Intelex objects with the merge template option enabled, and at least one uploaded Merge Template, can be queried in one of two ways.
- Retrieve a list of records detailing all Merge Templates for that object.
- Request a merge document content for a specific object record.
To access Merge Template details use the system reserved property: ILX.MailMergeDocs.
Requesting Merge Templates
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.MailMergeDocs' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.MailMergeDocs");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.context": "string",
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"DateCreated": "2020-06-08T12:32:51.28-04:00",
"DateModified": "2020-06-08T12:32:51.28-04:00",
"Description": "string",
"DownloadAs": "string",
"ObjectRecordId": "string",
"TemplateName": "string"
}
]
}
This request returns a list of all merge templates belonging to a given object. ILX.MailMergeDocs is a system reserved property for working with merge templates. Any object that has merge templates enabled will be able to access this property and request the templates that belong to the object.
GET /object/{intelex_object}({id})/ILX.MailMergeDocs
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id | The Intelex UID of the object record being accessed |
Downloading Merge Documents
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.MailMergeDocs(UID)',
headers:
{ accept: 'application/octet-stream' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/object/IncidentsObject(UID)/ILX.MailMergeDocs(UID)");
var request = new RestRequest(Method.GET);
request.AddHeader("accept", "application/octet-stream");
IRestResponse response = client.Execute(request);
Example Response - including the ‘accept’ header parameter, the response will be the binary contents of the dynamically generated document file.
By including the ‘accept’ header parameter, the response will be the binary contents of the dynamically generated document file.
PK �Y�P����.customXml/item1.xml�ZYo�8~_` ...
Example Response - without the ‘accept’ header, the response will be the metadata for the requested merge template record.
Without the ‘accept’ header, the response will be the metadata for the requested merge template record.
{
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"DateCreated": "2020-06-08T12:32:51.28-04:00",
"DateModified": "2020-06-15T11:02:24.28-04:00",
"Description": "string",
"DownloadAs": "string",
"ObjectRecordId": "string",
"TemplateName": "string"
}
By default, this request returns the metadata of a specific Merge Template document. When you provide the Accept header value of ‘application/octet-stream’, then the binary contents of merged file itself will be returned instead.
GET /object/{intelex_object}({id1})/ILX.MailMergeDocs({id2})
URL Parameters
Parameter | Description |
---|---|
intelex_object | The Intelex system name of the object eg. IncidentsObject |
id1 | The Intelex UID of the record being accessed |
id2 | The Intelex UID of the merge template to return |
Header Parameters
Parameter | Description | Example Value |
---|---|---|
Accept | Provide the content type in order to download the file | application/octet-stream |
Object Batch Requests
Example Batch Request Body: The following example includes a batch with a unique identifier of AAA123 and a change set with a unique identifier of BBB456. The request creates a record then updates the record that was just created
--batch_AAA123
Content-type: multipart/mixed; boundary=changeset_BBB456
--changeset_BBB456
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID:1
POST IncidentsObject HTTP/1.1
Content-Type: application/json
{ "ActionsTaken": "string", "Date": "string", "Description": "string", "IncidentNo": 0, "ReportedDate": "2017-02-13T22:15:30.203Z", "SuspectedCause": "string" }
--changeset_BBB456
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID:2
PATCH $1 HTTP/1.1
Content-Type: application/json
{"Description":"string"}
--changeset_BBB456--
--batch_AAA123--
The above batch request returns the following response with a 200 OK status:
--batchresponse_20a3a5a7-2df7-435e-9c62-ead3472499e7
Content-Type: multipart/mixed; boundary=changesetresponse_18666d72-dd34-46dc-8cae-2f0ff8208f7c
--changesetresponse_18666d72-dd34-46dc-8cae-2f0ff8208f7c
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 1
HTTP/1.1 201 Created
Location: https://intelex_url/api/v2/object/IncidentsObject(UID)
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.type": "string", "@odata.id": "string", "@odata.editLink": "string", "Id": "string", "ActionsTaken": "string", "Date": "2017-02-13T22:15:30.203Z", "Description": "string", "IncidentNo": 0,
"ReportedDate": "2017-02-13T22:15:30.203Z", "SuspectedCause": "string"
}
--changesetresponse_18666d72-dd34-46dc-8cae-2f0ff8208f7c
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 2
HTTP/1.1 204 No Content
--changesetresponse_18666d72-dd34-46dc-8cae-2f0ff8208f7c--
--batchresponse_20a3a5a7-2df7-435e-9c62-ead3472499e7--
Use a POST request to submit a batch operation that contains multiple requests. A batch request can include GET, POST, PATCH, and DELETE requests as well as change sets. To use transactional capabilities of batch requests, only operations that will change data can be included within a change set. GET requests must not be included in the change set.
The POST request containing the batch must have a Content-Type header with a value set to multipart/mixed with a boundary set to include the identifier of the batch using this pattern:
--batch_<unique_identifier>
The unique identifier doesn’t need to be a GUID, but should be unique. Each item within the batch must be preceded by the batch identifier with a Content-Type and Content-Transfer-Encoding header:
--batch_AAA123
Content-Type: application/http
Content-Transfer-Encoding:binary
The end of the batch must contain a termination indicator:
--batch_AAA123--
By default, processing batch requests will stop on the first error unless the odata.continue-on-error preference is specified in the Prefer header. Also, the responses returned are essentially text documents rather than objects that can easily be parsed into JSON. You’ll need to parse the text in the response.
POST /object/$batch
Header Parameters
Parameter | Description | Required | Example Value |
---|---|---|---|
Content-Type | Content type for entire batch request | Yes | multipart/mixed;boundary=batch_AAA123 |
Prefer | Preference to continue if error is encountered | No | odata.continue-on-error |
Change Sets
When multiple operations are contained in a change set, all the operations are considered atomic, which means that if any one of the operations fail, any completed operations will be rolled back. Like a batch requests, change sets must have a Content-Type header with a value set to multipart/mixed with a boundary set to include the identifier of the change set using this pattern:
--changeset_<unique_identifier>
The unique identifier doesn’t need to be a GUID, but should be unique. Each item within the change set must be preceded by the change set identifier with a Content-Type and Content-Transfer-Encoding header like the following:
--changeset_BBB456
Content-Type: application/http
Content-Transfer-Encoding:binary
Change sets can also include a Content-ID header with a unique value. This value, when prefixed with $, represents a variable that contains the URI for any entity created in that operation. For example, when you set the value of 1, you can refer to that entity using $1 later in your change set.
The end of the change set must contain a termination indicator like the following:
--changeset_BBB456---
Batch Limits
The Batch service has its limits. The maximum number of operations or changesets that can be included in the body of a $batch request is 100. The maximum number of operations inside a changeset is 1000. The size of the payload for a $batch request cannot exceed 1MB.
Task API
The Task API gives you the ability to retrieve your Intelex tasks. These tasks can be found in the My Tasks Summary application in your Intelex platform. Tasks are object data records that are assigned to an employee in the Intelex system. You can create tasks by creating records and setting the workflow’s person responsible or re-assign tasks by updating a record’s person responsible
The Task API is currently in beta. This means that we might make changes to the data returned or how requests are made with future Intelex releases. Once the beta tag is removed, breaking changes to this API will be versioned.
Task Metadata
Example response with record metadata
{
"value": {
"@odata.type": "#Intelex.IncidentsObject",
"@odata.id": "https://intelex_url/api/v2/object/IncidentsObject(UID)",
}
}
Records returned from the API will contain a few properties that provide some useful information.
Property | Description |
---|---|
@odata.type | The the entity type of the record. Also contains the object system name the record belongs to |
@odata.id | A URL that can be used to access the record via the Object Data API |
Task Record Limits
Example response with pagination link
{
"@odata.nextLink": "https://intelex_url/api/v2/task/mytasks?$skip=500"
}
We’ve provided a convenient way to access more data in any request for sequential data where the number of records exceeds 500. Simply call the url in the nextLink parameter and we’ll respond with the next set of data.
Task Relational Data
Tasks resources have relations to Employees or Locations. These relations are accessible via the API as navigation properties.
Each task resource will have navigation properties that can be used to access its related data in either the Employee or Location objects:
Resource | Available Navigation Properties |
---|---|
mytasks | Employee |
stafftasks | Employee |
locationtasks | Employee, Location |
alltasks | Employee |
You can use these navigation properties in $expand queries to return the related data in-line with your tasks.
Requesting Tasks
The following resources are similar to the application tabs you find in the My Tasks Summary application. You will only be able to access the following resources if you have the correct permissions set for the ‘Use Application Tab’ security setting on the associated application tab in Intelex.
Requesting Task Resources
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"name": "string",
"kind": "string",
"url": "string"
}
]
}
Returns the task resource endpoints that you can access
GET /api/v2/task
Attribute | Description |
---|---|
name | The entity type of the record |
kind | Entity set or function |
url | Endpoint for resource |
Requesting My Tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/mytasks' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/mytasks");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationId": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
Returns your tasks
GET /api/v2/task/mytasks
Attribute | Description |
---|---|
Id | Task ID |
RespEmployeeName | Person Responsible for Task |
DueDateType | Overdue, Upcoming, None |
LocationId | Location ID |
LocationName | Location Name |
NetObjectId | Object ID |
NetObjectType | System name of object |
NetTaskId | Object record ID |
NextDate | Next assigned due date for task |
RecordDescription | Task description |
Stage | Workflow stage name |
TaskType | Type of task |
LegacyRecordId | Intelex v5 task ID |
LegacyRecordIdName | Intelex v5 task name |
LegacyRespEmployeeId | Intelex v5 employee ID |
LegacyTaskId | Intelex v5 record ID |
WebLink | Web URL to access task view |
Requesting My Staff’s Tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/stafftasks' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/stafftasks");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationId": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
Returns all tasks assigned to employees that the user is supervisor of
GET /api/v2/task/stafftasks
Attribute | Description |
---|---|
Id | Task ID |
RespEmployeeName | Person Responsible for Task |
DueDateType | Overdue, Upcoming, None |
LocationId | Location ID |
LocationName | Location Name |
NetObjectId | Object ID |
NetObjectType | System name of object |
NetTaskId | Object record ID |
NextDate | Next assigned due date for task |
RecordDescription | Task description |
Stage | Workflow stage name |
TaskType | Type of task |
LegacyRecordId | Intelex v5 task ID |
LegacyRecordIdName | Intelex v5 task name |
LegacyRespEmployeeId | Intelex v5 employee ID |
LegacyTaskId | Intelex v5 record ID |
WebLink | Web URL to access task view |
Requesting Location Tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/locationtasks' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/locationtasks");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
Returns all tasks for a location. Default location is the user’s logon location set in their user profile. Tasks returned will belong to the default location and its child locations.
GET /api/v2/task/locationtasks
Attribute | Description |
---|---|
Id | Task ID |
RespEmployeeName | Person Responsible for Task |
DueDateType | Overdue, Upcoming, None |
LocationName | Location Name |
NetObjectId | Object ID |
NetObjectType | System name of object |
NetTaskId | Object record ID |
NextDate | Next assigned due date for task |
RecordDescription | Task description |
Stage | Workflow stage name |
TaskType | Type of task |
LegacyRecordId | Intelex v5 task ID |
LegacyRecordIdName | Intelex v5 task name |
LegacyRespEmployeeId | Intelex v5 employee ID |
LegacyTaskId | Intelex v5 record ID |
WebLink | Web URL to access task view |
Header Parameters
Parameter | Description |
---|---|
ActiveLocation | Provide the ID of the location you want to use as the active location for your request. Records returned will belong to the active location and its child locations |
Requesting All Tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/alltasks' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/alltasks");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationId": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
Returns all tasks in Intelex
GET /api/v2/task/alltasks
Attribute | Description |
---|---|
Id | Task ID |
RespEmployeeName | Person Responsible for Task |
DueDateType | Overdue, Upcoming, None |
LocationId | Location ID |
LocationName | Location Name |
NetObjectId | Object ID |
NetObjectType | System name of object |
NetTaskId | Object record ID |
NextDate | Next assigned due date for task |
RecordDescription | Task description |
Stage | Workflow stage name |
TaskType | Type of task |
LegacyRecordId | Intelex v5 task ID |
LegacyRecordIdName | Intelex v5 task name |
LegacyRespEmployeeId | Intelex v5 employee ID |
LegacyTaskId | Intelex v5 record ID |
WebLink | Web URL to access task view |
Requesting Task Types
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/types' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/types");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"Caption": "string",
"Name": "string",
"Description",
"Module": {
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"Caption": "string",
"UrlCaption": "string",
"Description": "string"
}
}
]
}
Returns types of tasks you can create. This data is used to determine which objects have ‘quick task creation’ enabled
GET /api/v2/task/types
Attribute | Description |
---|---|
Id | Task type ID |
Caption | System caption of object |
Name | System name of object |
Description | Description of object |
Module.Captiom | System caption of application |
Module.UrlCaptions | Navigation caption of application |
Module.Description | Description of application |
Querying Tasks
You can use the following query options on any of the Task API resources
Selecting task fields
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/mytasks',
qs: { '$select': 'RecordDescription' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/mytasks?$select=RecordDescription");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"RecordDescription": "string"
}
]
}
The $select system query option allows clients to request a limited set of fields for each task.
GET /task/mytasks?$select={field_name}
Option | Example Values |
---|---|
Select a single field | $select=RecordDescription |
Select mutliple fields | $select=RecordDescription, RespEmployeeName |
URL Parameters
Parameter | Description |
---|---|
field_name | Field name(s) to include in response |
Counting task records
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/mytasks',
qs: { '$count': 'true' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/mytasks?$count=true");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"@odata.count": 1,
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
The $count system query option with a value of true specifies that the total count of items within a collection matching the request be returned along with the result.
GET /task/mytasks?$count=true
Paginating tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/mytasks',
qs: { '$skip': '10', '$top': '5' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/mytasks?$skip=10&$top=5");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
The $top system query option requests the number of items in the queried collection to be included in the result. The $skip query option requests the number of items in the queried collection that are to be skipped and not included in the result.
GET /task/mytasks?$top={top_n}&$skip={skip_n}
Query Parameters
Parameter | Description |
---|---|
top_n | Number of items to be included in the response |
skip_n | Number of items to be skipped |
Sorting tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/mytasks',
qs: { '$orderby': 'NextDate desc' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/mytasks?$orderby=NextDate desc");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
The $orderby system query option allows clients to request tasks in either ascending order using ‘asc’ or descending order using ‘desc’. Default is ascending. The request below sorts the collection by date in descending order.
GET /task/mytasks?$orderby={field_name}
Option | Example Values |
---|---|
Sort by descending | $orderby=NextDate desc |
Sort by ascending | $orderby=NextDate asc |
Sort by drop-down value | $orderby=RespEmployeeName |
Sort by multiple fields | $orderby=NextDate, RecordDescription |
Query Parameters
Parameter | Description |
---|---|
field_name | Fields that you want to sort by |
Filtering tasks
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/mytasks',
qs: { '$filter': 'RespEmployeeName eq \'Steve Rogers\'' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("http://cloud3.intelex.com/wabouchalha/api/v2/task/mytasks?%24filter=RespEmployeeName%20eq%20'Steve%20Rogers'");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string"
}
]
}
The $filter system query option allows clients to filter a collection of task. The expression specified with $filter is evaluated for each task in the collection, and only items where the expression evaluates to true are included in the response. There are built-in filter operators that can be used in order to retrieve the data you need
GET /task/mytasks?$filter={filter_expression}
Query Parameters
Parameter | Description |
---|---|
filter_expression | Filter expression used to query data |
Comparison Operators:
Name | Description | Example Values |
---|---|---|
eq | Equal | DueDateType eq Enum.DueDateType'Overdue’ |
ne | Not equal | RecordDescription ne null |
gt | Greater than | NextDate gt 2017-01-01 |
ge | Greater than or equal | NextDate ge 2017-01-01 |
lt | Less than | NextDate lt 2017-01-01 |
le | Less than or equal | NextDate le 2014-11-24T12:55:05.35-05:00 |
Logical Operators:
Name | Description | Example Values |
---|---|---|
and | Logical and | RecordDescription ne null and RespEmployeeName eq ‘Steve Rogers’ |
or | Logical or | RecordDescription eq null or NextDate gt 2017-01-01 |
not | Logical not | not(contains(RecordDescription, ‘accident’)) |
Grouping Operators:
Name | Description | Example Values |
---|---|---|
( ) | Precedence grouping | RespEmployeeName eq ‘Steve Rogers’ and (contains(TaskType, ‘Safety’) or contains(RecordDescription, ‘Safety’)) |
Functions:
Name | Description | Example Values |
---|---|---|
contains(Field, Value) | Sub-string search | contains(RecordDescription, ‘accident’)) |
Filtering using Relation Fields:
Description | Example Values |
---|---|
Filtering by Employee name | Employee/Name eq ‘Steve Rogers’ |
Filtering by Location name | Location/Name eq ‘Toronto’ |
Expanding related information
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://intelex_url/api/v2/task/locationtasks',
qs: { '$expand': 'Location' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://intelex_url/api/v2/task/locationtasks?$expand=Location");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Example Response
{
"value": [
{
"@odata.type": "string",
"@odata.id": "string",
"Id": "string",
"RespEmployeeName": "string",
"DueDateType": "string",
"LocationName": "string",
"NetObjectId": "string",
"NetObjectType": "string",
"NetTaskId": "string",
"NextDate": "2017-06-25T04:00:00Z",
"RecordDescription": "string",
"Stage": "string",
"TaskType": "string",
"LegacyRecordId": "string",
"LegacyRecordIdname": "string",
"LegacyRespEmployeeId": "string",
"LegacyTaskId": "string",
"WebLink": "string",
"Location": {
"@odata.type": "string",
"@odata.id": "string",
"@odata.editLink": "string",
"Id": "string",
"DateCreated": "2015-01-28T16:24:19.63-05:00",
"DateModified": "2016-04-21T15:02:38.723-04:00",
"Address1": null,
"Address2": null,
"Area": null,
"BusinessUnits": null,
"City": null
}
}
]
}
The $expand system query option specifies the related object records to be included in-line with requested tasks. The parameter accepts a comma-separated list of relation field names. Use the system name of the relation type field or lookup type field in your query.
GET /task/mytasks?$expand={relation_field}
Option | Example Values |
---|---|
Expand Employee | $expand=Employee |
Expand Employee and Location | $expand=Employee, Location |
Expand all relations | $expand=* |
Select expanded fields | $expand=Location($select=Name) |
Sort expanded collection | $expand=Location($orderby=Name) |
Query Parameters
Parameter | Description |
---|---|
relation_field | Relation field used to request related object data |
ACTS API
The ACTS API gives you the ability to retrieve or update data of selected database tables in ACTS product.
Reference
The Intelex ACTS API provides endpoints in ACTS, with it’s own URL for access. If you currently use the Intelex API, you will not be able to use the ACTS API unless you have Admin access to ACTS. At the same time, you can use the ACTS API without any permission for Intelex V6.
Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, Token based authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors.
Getting Started with ACTS API
API Endpoint - In the URL the tenant is the individual unique tenants based on the tenants they are specifying
https://[tenant].actsapi.intelex.com/v1/api/
To begin using the Intelex API you will need:
- A valid Intelex ACTS user account
- The full URL to your Intelex ACTS API and system
- The full URL to authentication endpoint
- Understanding of the Intelex ACTS Application.
ACTS API Authentication
Example Requests:
Body for Authentication Endpoint
{"client_id":"Client ID Data",
"client_secret":"Client Secret Data",
"audience":"https://*.intelex.com/ACTSAPI",
"grant_type":"client_credentials"}
Example Response:
{
"access_token": "Generated Bearer Access Token Used For Validation",
"expires_in": "Token Expiry Time In Seconds",
"token_type": "Bearer"
}
Intelex ACTS API uses tokens based authentication. Only ACTS Admin users can access the API.
During the authentication process, the client provides the ‘client id’ and ‘client secret’ to the authentication endpoint, along with the audience and grant type, as demonstrated above. In response, the API furnishes an access token that comes with a specified time limit. This authentication is exclusively applicable to admin users. After successful authentication, users gain unrestricted access to all ACTS API endpoints till the token expiration.
All interactions with the API are required to occur via HTTPS, and any API requests lacking proper authentication will result in failure. Data security is meticulously overseen by the ACTS platform, ensuring that API requests grant identical administrative access as enjoyed by authenticated ACTS admin users.
The user authentication endpoint uses a POST to generate the access token [bearer token].
ACTS API Versioning
When we make any new changes to the API, we release new versions. The current version of the ACTS API is v1 and can be determined with our API base path /api/v1/.
Example API endpoint : https://[tenant].actsapi.intelex.com/v1/[endpoint-name]
ACTS API Software & Certificate Version Details
The ACTS API SSL Certification is incompatible with following version of the python 3.10 + . If we use the python version < 3.10 the SSL handshake works for ACTS API.Currently this is considered as one of the limitation.
API’s and Associated Database Tables
This ACTS API release includes 23 GET enpoints and 16 POST endpoints, along with the authentication endpoint described earlier. The tables that can be queried and updated are as follows.
Database Tables supporting GET requests
- Attribute Type
- Compound
- Emission Category
- Emission Factor Table
- Emission Type
- Equipment
- Equipment Attribute
- Equipment Status
- Equipment Type
- Facility
- Facility Attribute
- Operation
- Operation Type
- Query Results
- Unit
- Workflow
- Workflow Answer
- Workflow Equipment
- Workflow Facility
- Workflow Person
- Workflow Question
- Workflow Question Category
- Workflow Type
Database Tables supporting POST requests
- Analysis
- Analysis Compound
- Emission Factor
- Emissions Recalculate By Equipment
- Emissions Recalculate By Operation
- Equipment
- Equipment Analysis
- Equipment Attribute
- Facility
- Facility Attribute
- Operation
- Workflow
- Workflow Answer
- Workflow Equipment
- Workflow Facility
- Workflow Person
Retrieve Data
This section outlines the various GET APIs available for fetching data from different tables. Each API provides the capability to retrieve specific data based on provided parameters. Pagination support is available for managing large datasets effectively.The user can pass the set of parameters of same or different filter options at once .
1. Attribute Type Table
This section outlines the process of retrieving data from the Attribute Type table using the dedicated API endpoint. The endpoint facilitates the retrieval of all data from the Attribute Type table or enables the selection of specific information by including Attribute Ids and Attribute Types. Additionally, the Attribute Type endpoint supports pagination to effectively manage larger datasets.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/attributetype' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/attributetype");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"attributeTypeId": "number",
"attributeType": "string",
"dataTypeId": "number",
"dataTypeSize": "number",
"dataTypePrecision": "number",
"dataTypeFilter": "string",
"readonlyInd": "string",
"searchableInd": "string",
"remoteInd": "string",
"defaultValue": "string",
"alwaysEvaluateDefaultInd": "string",
"displayCondition": "string",
"disabledCondition": "string",
"validationCondition": "string",
"validationErrorText": "string",
"viewColumnName": "string",
"activeDate": "2011-01-01T00:00:00",
"inactiveDate": "2011-01-01T00:00:00",
"lastModifiedDate": "2020-10-08T13:35:31",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/attributetype
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
attributeTypeIds | int | Attribute ID is one of the filter parameter is a integer data type |
attributeTypes | string | Attribute Types is for the project detail type |
2. Compound Table
This section guides you through the process of fetching data from the Compound table using the dedicated API endpoint. The endpoint offers the flexibility to retrieve all data from the Compound table or selectively acquire information by including Compound Ids, Compound Type Ids, Compound Status Ids, Compound Names, External Identifiers, or CAS Numbers. Additionally, the Compound endpoint is equipped with pagination capabilities to facilitate efficient management of substantial datasets.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/compound' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/compound");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"compoundId": "number",
"compoundName": "string",
"compoundTypeId": "number",
"compoundStatusId": "number",
"activeDate": "2011-07-04T17:42:43",
"description": "string",
"alternateNames": "string",
"cas": "string",
"formula": "string",
"molecularWeight": "number",
"vpMolecularWeight": "number",
"vp40": "number",
"vp50": "number",
"vp60": "number",
"vp70": "number",
"vp80": "number",
"vp90": "number",
"vp100": "number",
"vpCoefA": "number",
"vpCoefB": "number",
"vpCoefC": "number",
"vp2A": "number",
"vp2B": "number",
"reid": "number",
"astmSlope": "number",
"vpA": "number",
"vpB": "number",
"vpXMin": "number",
"vpXMax": "number",
"density": "number",
"specificGravity": "number",
"supplier": "string",
"manufacturerId": "number",
"epaTanksCategory": "string",
"epaTanksId": "number",
"inactiveDate": "string",
"sortOrder": "number",
"lastModifiedDate": "2020-09-10T10:01:19",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/compound
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
compoundIds | int | Compound ID is one of the unique identifier for this compound record |
compoundTypeIds | int | Compound Type Ids is the associated compound type and is a second filter parameter option |
compoundstatusIds | int | Compound Status Ids is associated with compound status |
compoundNames | string | Compound Names The name of the compound which is a string type data and is one among the parameter for filter option |
externalIdentifier | int | External Identifiers is a unique identifier for this record to an external data system |
cas | string | CAS Number is a Chemical Abstract Service number for the compound |
3. Emission Category Table
This section elaborates on how to obtain data from the Emission Category table using the designated API endpoint. The endpoint allows you to retrieve all data from the Emission Category table or selectively acquire information by providing the Emission Category ID. Moreover, the Emission Category endpoint features pagination to facilitate efficient management of substantial datasets.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/emissioncategory' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/emissioncategory");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"emissionCategoryId": "number",
"emissionCategory": "string",
"sortOrder": "number",
"lastModifiedDate": "2022-11-22T08:03:51",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/emissioncategory
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
emissionCategoryIds | int | Emission Category ID is one of the unique identifier for this emission category record and is one of the filter option provided for Emission Category |
emissionCategoryTypes | string | Emission Category Types is for the project to emission category detail types |
4. Emission Factor Table
This section elaborates on how to obtain data from the Emission Factor table using the designated API endpoint. The endpoint allows you to retrieve all data from the Emission Factor table or You can optionally fetch specific data by including the emission factor Ids, emission factor names, emission type Ids, emission category Ids, unit Ids, compound Ids, equipment Ids, last modified start date and last modified end date. The Emission Factor endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/emissionfactor' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/emissionfactor");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 10,
"maxAPIPageSize": 500,
"totalCount": 1,
"hasPrevious": false,
"hasNext": false,
"data": [
{
"emissionFactorId": "number",
"emissionFactor": "number",
"equipmentId": "number",
"emissionTypeId": "number",
"emissionCategoryId": "number",
"compoundId": "number",
"emissionFactorName": "string",
"unitId": "number",
"lastModifiedDate": "2018-08-22T15:33:44",
"externalIdentifier": "string",
"comments": "string",
"activeDate": "2014-01-01T00:00:00",
"inactiveDate": "2014-01-01T00:00:00",
"primaryInd": "string",
"reportableInd": "string",
"readOnlyInd": "string",
"dataLockTypeId": "number"
}
]
}
API Endpoints
GET
/api/v1/emissionfactor
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
emissionFactorIDs | int | Emission Factor Ids are unique identifier for this Emission Factor record |
emissionFactorNames | string | Emission Factor Names are one of the filter option and the parameter is for the names of the Emission Factors |
emissionTypeIds | int | The unique identifier of the associated emission type |
emissionCategoryIds | int | The unique identifier of the associated emission category |
unitIds | int | The unique identifier of the associated unit |
compoundIds | int | Compound ID is one of the unique identifier for this compound record |
equipmentIds | int | The unique identifier of the associated equipment |
lastModifiedStartDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
5. Emission Type Table
This section guides you through the process of fetching data from the Emission Type table using the dedicated API endpoint. The endpoint enables you to retrieve data from the entire Emission Type table or selectively obtain information by including Emission Type Ids. Additionally, the Emission Type endpoint is equipped with pagination capabilities to facilitate the handling of extensive datasets.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/emissiontype' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/emissiontype");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"emissionTypeId": "number",
"emissionType": "string",
"sortOrder": "number",
"lastModifiedDate": "2022-11-22T08:03:41",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/emissiontype
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
emissionTypeIds | int | Emission Type ID is one of the type of emissions and is the one of the filter option provided for Emission Type |
emissionTypes | string | Emission Types is for the project to emission detail types |
6. Equipment Table
This section provides guidance on retrieving data from the Equipment table using the designated API endpoint. The endpoint allows you to retrieve all data from the Equipment table or specify specific data based on equipment Ids. Additionally, the Equipment endpoint offers pagination support to facilitate the handling of substantial datasets.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/equipment' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipment");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"equipmentId": "number",
"areaId": "number",
"facilityId": "number",
"equipmentTypeId": "number",
"sourceName": "string",
"equipmentStatusId": "number",
"modelId": "number",
"ownershipId": "number",
"ownerId": "number",
"serialNumber": "string",
"manufactureDate": "2013-09-03T00:00:00",
"internalName": "string",
"alternateName": "string",
"design": "string",
"originalSurveyDate": "2022-12-12T15:43:07",
"activeDate": "2013-09-03T00:00:00",
"inactiveDate": "2022-12-12T15:43:07",
"dataLockTypeId": "number",
"lastModifiedDate": "2022-12-12T15:43:07",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/equipment
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
equipmentIds | int | Equipment ID is one of the unique identifier for this equipment record |
equipmentTypeIds | int | Equipment Type ID is one of the unique identifier for this equipment type record |
equipmentStatusIds | int | Equipment Status ID is one of the unique identifier for this equipment status record |
facilityIds | int | Facility ID is one of the unique identifier for this equipment status record |
sourceNames | string | Source Names is one of the unique identifier for this equipment record |
internalNames | string | Internal Names is one of the unique identifier for this equipment record |
alternateNames | string | Alternate Names is one of the unique identifier for this equipment record |
lastModifiedStartDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
7. Equipment Attribute Table
All data from the Equipment Attribute table will be returned from the endpoint below. You can optionally fetch specific data by including the facility attribute Ids, facility names, emission type Ids, facility type Ids, unit Ids, equipment Ids, last modified start date and last modified end date. The facility attribute endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/equipmentattribute' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipmentattribute");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"equipmentAttributeId": "number",
"equipmentId": "number",
"attributeTypeId": "number",
"equipmentAttribute":"string",
"dataLockTypeId": "number",
"lastModifiedDate": "datetime",
"externalIdentifier": "string",
"comments":"string"
}
]
}
API Endpoints
GET
/api/v1/equipmentattribute
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
equipmentAttributeIds | int | EquipmentAttributeId one of the unique identifier for this Equipment record. |
equipmentIds | int | EquipmentId must be numeric. |
attributetypeIds | int | AttributeTypeId must be numeric. |
equipmentattributes | string | Equipment Attribute is one of the filter option and the parameter is for the Equipment Attribute Type |
lastModifiedStartDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
8. Equipment Status Table
All data from the Equipment Status table will be returned from the endpoint below. You can optionally fetch specific data by including the equipment status ID and equipment status value. The Equipment Status endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/equipmentstatus' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipmentstatus");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"equipmentStatusId": "number",
"equipmentStatus": "string",
"colorId": "number",
"sortOrder": "number",
"lastModifiedDate": "2022-11-22T07:46:46",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/equipmentstatus
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
equipmentStatusIds | int | Equipment Status ID is one of the unique identifier for this equipment status record |
equipmentStatus | string | Equipment Status is one of the identifier for the status of the equipment |
9. Equipment Type Table
All data from the Equipment Type table will be returned from the endpoint below. You can optionally fetch specific data by including the equipment type ID and equipment types value. The Equipment type endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/equipmenttype' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipmenttype");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 3,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 1346,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"equipmentTypeId": "number",
"equipmentType": "string",
"visibleInd": "string",
"equipmentAttributesInd": "string",
"emissionCalculationsInd": "string",
"containmentInd": "string",
"geometryInd": "string",
"emissionFactorsInd": "string",
"sampleLocationsInd": "string",
"equipmentAssociationsInd": "string",
"facilityAssociationsInd": "string",
"locationInformationInd": "string",
"fuelUseInd": "string",
"peopleAssociationsInd": "string",
"serviceScheduleInd": "string",
"serviceHistoryInd": "string",
"operationalDataCollectnInd": "string",
"pteOperationalDataInd": "string",
"scheduleInd": "string",
"correspondenceInd": "string",
"requirementsInd": "string",
"fileAttachmentsInd": "string",
"viewName": "string",
"sortOrder": "number",
"lastModifiedDate": "2022-04-14T09:15:47",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/equipmenttype
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
equipmentTypeIds | int | Equipment Type ID is one of the unique identifier for this equipment type record |
equipmentTypes | string | Equipment Types is one of the filter option and the parameter is for the type of the equipment |
10. Facility Table
All data from the Facility table will be returned from the endpoint below. You can optionally fetch specific data by including the facility Ids, facility names, emission type Ids, facility type Ids, facility status Ids, county Ids, last modified start date and last modified end date. The facility endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/facility' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/facility");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"facilityId": "number",
"facilityName": "string",
"areaId": "number",
"facilityTypeId": "number",
"facilityStatusId": "number",
"sortOrder": "number",
"facilityOwnershipId": "number",
"facilityOwnerId": "number",
"landOwnershipId": "number",
"landOwnerId": "number",
"operatorId": "number",
"countryId": "number",
"countyId": "number",
"offshoreBlockId": "number",
"meteorologicalId": "number",
"businessEntityId": "number",
"businessUnitId": "number",
"alternateName": "string",
"purchaseDate": "2023-06-25T04:00:00Z",
"previousOwnerId": "number",
"soldDate": "2023-06-25T04:00:00Z",
"soldToId": "number",
"activeDate": "2023-06-25T04:00:00Z",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"lastModifiedDate": "2023-06-25T04:00:00Z",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/facility
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
facilityIds | int | Facility ID is one of the unique identifier for this Facility record |
facilityTypeIds | int | Facility Type ID is one of the unique identifier for this Facility record |
facilityStatusIds | int | Facility Status ID is one of the unique identifier for this Facility record |
countyIds | int | County ID is one of the unique identifier for this Facility record |
facilityNames | string | Facility Name is the unique identifier of the associated facility type |
alternateNames | string | Alternate Name is the unique identifier of the associated facility |
externalidentifier | string | External Identifier a unique identifier for this record to an external data system |
areaIds | int | Area ID is one of the unique identifier for this Facility record to determine the region |
lastModifiedStartDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
11. Facility Attribute Table
All data from the Facility Attribute table will be returned from the endpoint below. You can optionally fetch specific data by including the facility attribute Ids, facility names, emission type Ids, facility type Ids, facility attribute and last modified end date. The facility attribute endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/facilityattribute' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/facilityattribute");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"facilityAttributeId": "number",
"facilityId": "number",
"attributeTypeId": "number",
"facilityAttribute":"string",
"dataLockTypeId": "number",
"lastModifiedDate": "2023-03-30T07:27:06.295Z",
"externalIdentifier": "string",
"comments":"string"
}
]
}
API Endpoints
GET
/api/v1/facilityattribute
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
facilityAttributeIds | int | Facility ID is one of the unique identifier for this Facility record |
facilityIds | int | Facility Name is the unique identifier of the associated facility type |
attributetypeIds | int | Attribute Type ID is the unique identifier of the associated attribute type |
facilityattributes | string | Facility Attribute is one of the filter option and the parameter is for the Facility Attribute Type |
datalocktypeIds | int | Data Lock Type ID the unique identifier of the associated data lock type |
lastModifiedStartDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
externalidentifier | string | External Identifier a unique identifier for this record to an external data system |
comments | string | Comments any comments associated with this record |
12. Operation Table
All data from the Operation table will be returned from the endpoint below. You can optionally fetch specific data by including the operation Ids, operation type Ids, emission type Ids, emission category Ids, unit Ids, equipment Ids, last modified start date and last modified end date. The Operation endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/operation' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/operation");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"operationId": "number",
"equipmentId": "number",
"emissionTypeId": "number",
"emissionCategoryId": "number",
"operationTypeId": "number",
"activeDate": "2023-06-25T04:00:00Z",
"unitId": "number",
"controlledInd": "string 1 Byte Y or N",
"estimatedInd": "string 1 Byte Y or N",
"invalidInd": "string 1 Byte Y or N",
"calculateEmissionsInd": "string 1 Byte Y or N",
"collectionDate": "2023-06-25T04:00:00Z",
"fieldEventId": "number",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"lastModifiedDate": "2023-06-25T04:00:00Z",
"externalIdentifier": "string",
"comments": "string",
"badDataFlag": "number(0,1)",
"operationAmount": "number"
}
]
}
API Endpoints
GET
/api/v1/operation
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
operationIds | int | Operation Ids are unique identifier for this operation type record |
operationTypeIds | string | Operation Type Ids is one of the filter option and the parameter is for the type of the Operation Type |
emissionTypeIds | int | The unique identifier of the associated emission type |
emissionCategoryIds | int | The unique identifier of the associated emission category |
unitIds | int | The unique identifier of the associated unit |
equipmentIds | int | The unique identifier of the associated equipment |
lastModifiedStartDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | string | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
13. Operation Type Table
All data from the Operation Type table will be returned from the endpoint below. You can optionally fetch specific data by including the operation type ids, operation types . The Operation Type endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/operationtype' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/operationtype");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"operationTypeId": "number",
"operationType": "string",
"parentOperationTypeId": "number",
"compoundId": "number",
"applicabilityFormula": "string",
"sortOrder": "number",
"lastModifiedDate": "2020-09-01T15:55:25",
"externalIdentifier": "number",
"comments": "number",
"refId": "number"
}
]
}
API Endpoints
GET
/api/v1/operationtype
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
operationTypeIDs | int | The unique identifier for this operation type record |
operationTypes | int | The type of operational data |
14. Query Results
The QueryResults API end point will allow the user to run the views saved in Query view tables and returns the dynamic results based on the specific query view id value. The QueryResults endpoint supports pagination.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/queryresults',
headers: { 'content-type': 'application/json' },
body:
{
"queryViewId": "number"
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/queryresults");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n \"queryViewId\": \"number\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 51,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 25052,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"equipment_id": "number",
"area_id": "number",
"facility_id": "number",
"equipment_type_id": "number",
"source_name": "string",
"equipment_status_id": "number",
"model_id": "number",
"ownership_id": "number",
"owner_id": "number",
"serial_number": "string",
"manufacture_date": "2023-03-30T07:27:06",
"internal_name": "string",
"alternate_name": "string",
"design": "string",
"original_survey_date": "2023-03-30T07:27:06",
"active_date": "2018-10-16T06:19:21",
"inactive_date": "2023-03-30T07:27:06",
"data_lock_type_id": "number",
"last_modified_date": "2023-03-30T04:07:57",
"external_identifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/queryresults
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
queryViewId | int | The unique identifier for this query view record |
15. Unit Table
This section outlines how to retrieve data from the Unit table using the provided endpoint. You have the flexibility to fetch specific data by including unit Ids, unit type Ids, and units. The Unit type endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/unit' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/unit");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"unitId": "number",
"unit": "string",
"unitTypeId": 0,
"description": "string",
"alternateNames": "string",
"sortOrder": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/unit
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
unitIds | int | Unit ID is one of the unique identifier for this Unit record |
unitTypeIds | int | Unit Type Ids is the unique identifier of the associated unit type |
units | string | Units is one of the filter option and the parameter is for the Name of the Unit |
16. Workflow Table
This section outlines how to retrieve data from the Workflow table using the provided endpoint. You have the flexibility to fetch specific data by including workflow Ids, workflow type Ids, workflow date for both start date and end date along with the last modified date. The workflow endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflow' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflow");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowId": "number",
"workflowTypeId": "number",
"workflowDate": "2017-02-13T22:15:30.203Z",
"dataLockTypeId": "1",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/workflow
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowIds | int | Workflow IDs are the unique identifier for workflows. |
workflowTypeIds | int | Workflow Type IDs are the unique identifier for a workflow type. |
workflowStartDate | dateTime | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
workflowEndDate | dateTime | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedStartDate | dateTime | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | dateTime | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
17. Workflow Answer Table
This section outlines how to retrieve data from the Workflow Answer table using the provided endpoint. You have the flexibility to fetch specific data by including workflow Answer Ids, workflow Ids, workflow question Ids, category Answer Index, category Revision Index, question Answer Index, question Revision Index, workflow Answer, lastModifiedStartDate and lastModifiedEndDate. The Workflow Answer endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowanswer' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowanswer");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowAnswerId": "number",
"workflowId": "number",
"workflowQuestionId": "number",
"categoryAnswerIndex": "number",
"categoryRevisionIndex": "number",
"questionAnswerIndex": "number",
"questionRevisionIndex": "number",
"workflowAnswer": "2016-03-23",
"dataLockTypeId": "number",
"personId": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowanswer
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowAnswerIds | int | Workflow Answer IDs are the unique identifiers for the answers in the workflow. Answer IDs are associated with a unique Question ID. |
workflowIds | int | Workflow IDs are the unique identifier for workflows (the named form or workflow type+date completed). |
workflowQuestionIds | int | Workflow Question IDs are the unique identifiers for questions in the workflow. Question IDs are associated with a unique Workflow ID. |
categoryAnswerIndex | int | Category Answer Index is the index for answers in the category. |
categoryRevisionIndex | int | Category Revision Index is the list of category revisions. If the workflow itself is updated a new category revision ID is assigned. |
questionAnswerIndex | int | Question Answer Index is the index for answers to a question. Answer IDs are associated with a unique Question ID. |
questionRevisionIndex | int | Question Revision Index is the index for questions with revisions. If the question itself is updated a question revision ID is assigned. |
workflowAnswer | string | Wokflow Answer is the answer to the question.. |
lastModifiedStartDate | dateTime | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
lastModifiedEndDate | dateTime | Date time format “yyyy/mm/dd T hours:min:secZ - Ex : 2017-02-13T22:15:30Z” |
18. Workflow Equipment Table
This section outlines how to retrieve data from the Workflow Equipment table using the provided endpoint. Equipment workflows are typically labeled Inspection. You have the flexibility to fetch specific data by including workflow Equipment Ids, workflow Ids, and Equipment Ids. The Workflow Equipment endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowEquipment' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowEquipment");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowEquipmentId": "number",
"workflowId": "number",
"equipmentId": "number",
"workflowQuestionId": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowEquipment
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowEquipmentIds | int | Workflow Equipment ID is the unique identifier for the associated equipment within the workflow. |
workflowIds | int | Workflow Ids is the unique identifier of the associated workflow. |
equipmentIds | string | Equipment IDs are the unique identifier of the associated equipment. |
19. Workflow Facility Table
This section outlines how to retrieve data from the Workflow Facility table using the provided endpoint. Facility workflows are typically labeled Inspection. You have the flexibility to fetch specific data by including workflow Facility Ids, workflow Ids and facility Ids. The Workflow Facility endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowfacility' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowfacility");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowFacilityId": "number",
"workflowId": "number",
"facilityId": "number",
"workflowQuestionId": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowfacility
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowFacilityIds | int | Workflow Facility IDs are the unique identifier for the associated facility within the workflow. |
workflowIds | int | Workflow IDs are the unique identifier for workflows (the named form or workflow type+date completed). |
facilityIds | int | Facility IDs are the unique identifier for the associated facility. |
20. Workflow Person Table
This section outlines how to retrieve data from the Workflow Person table using the provided endpoint. You have the flexibility to fetch specific data by including workflow person Ids, workflow Ids and person Ids. The Unit type endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowperson' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowperson");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowPersonId": "number",
"workflowId": "number",
"personId": "number",
"workflowQuestionId": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowperson
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowPersonIds | int | Workflow Person ID is the unique identifier for the associated person within the workflow. |
workflowIds | int | Workflow IDs are the unique identifier for workflows (the named form or workflow type+date completed). |
personIds | int | Person IDs are the assigned values for associated person(s) and can be used as a filter. |
21. Workflow Question Table
This section outlines how to retrieve data from the Workflow Question table using the provided endpoint. You have the flexibility to fetch specific data by including workflow Question Ids, workflow question categoy Ids, data type Ids, required Inds and questions. The Workflow Question endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowquestion' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowquestion");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowQuestionId": "number",
"workflowQuestionCategoryId": "number",
"question": "string",
"dataTypeId": "number",
"dataTypeSize": "number",
"dataTypePrecision": "number",
"dataTypeFilter": "string",
"workflowAnswerListId": "number",
"workflowAnswerList": "string",
"defaultValue": "string",
"alwaysEvaluateDefaultInd": "string",
"displayInd": "string",
"displayCondition": "string",
"disabledInd": "string",
"disabledCondition": "string",
"requiredInd": "string",
"validationCondition": "string",
"validationErrorText": "string",
"repeatInd": "string",
"repeatDeleteInd": "string",
"repeatDeleteConfirmInd": "string",
"reviseInd": "string",
"associateEntityInd": "string",
"allowCopyInd": "string",
"workflowTypeId": "number",
"viewColumnName": "string",
"sensitiveDataInd": "string",
"xmlDescription": "string",
"sortOrder": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowquestion
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowQuestionIds | int | Workflow Question ID are the unique identifiers for the workflow question record. |
workflowQuestionCategoryIds | int | Workflow Question Category Ids are the unique identifiers for the associated workflow question category. |
dataTypeIds | int | Data Type IDs are the unique identifiers for the associated data type. |
requiredInds | string | Required Inds is the value if an answer is required before saving the form. |
questions | string | Questions are the question content values included on the form. |
22. Workflow Question Category Table
This section outlines how to retrieve data from the Workflow Question Category table using the provided endpoint. You have the flexibility to fetch specific data by including workflow question category Ids, workflow type Ids and workflow question category. The Workflow Question Category endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowquestioncategory' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowquestioncategory");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowQuestionCategoryId": "number",
"workflowTypeId": "number",
"parentQuestionCategoryId": "number",
"workflowQuestionCategory": "string",
"autoExpandInd": "string",
"displayInd": "string",
"displayCondition": "string",
"disabledInd": "string",
"disabledCondition": "string",
"repeatInd": "string",
"repeatDeleteInd": "string",
"repeatDeleteConfirmInd": "string",
"reviseInd": "string",
"xmlDescription": "string",
"sortOrder": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowquestioncategory
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowQuestionCategoryIds | int | Workflow Question Category Ids are the unique identifiers for the associated workflow question category. |
workflowTypeIds | int | Workflow Type IDs are the unique identifiers for the associated workflow type. |
workflow question category | string | Workflow Question Category is the category of the form type. |
23. Workflow Type Table
This section outlines how to retrieve data from the Workflow Type table using the provided endpoint. You have the flexibility to fetch specific data by including workflow Ids, workflow type Ids, and workflows. The Unit type endpoint also supports pagination for managing large datasets effectively.
Example Request
var request = require("request");
var options = { method: 'GET',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowtype' };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowtype");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Response Schema
{
"currentPage": 1,
"totalPages": 1,
"currentPageSize": 500,
"maxAPIPageSize": 500,
"totalCount": 337,
"hasPrevious": false,
"hasNext": true,
"data": [
{
"workflowTypeId": "number",
"workflowType": "string",
"workflowCategoryId": "number",
"remoteInd": "string",
"addCondition": "string",
"openCondition": "string",
"workflowAssociationsInd": "string",
"fileAttachmentsInd": "string",
"allowCopyInd": "string",
"viewName": "string",
"xmlDescription": "string",
"sortOrder": "number",
"lastModifiedDate": "2017-02-13T22:15:30.203Z",
"externalIdentifier": "string",
"comments": "string",
"refId": "string"
}
]
}
API Endpoints
GET
/api/v1/workflowtype
Query parameters
Attribute | Type | Description |
---|---|---|
PageNumber | int | Page number of the results to fetch. |
PageSize | int | The number of results per page |
workflowTypeIds | int | Workflow Type IDs are the unique identifier for a workflow type. |
workflowCategoryIds | int | Workflow Category IDs are the unique identifier for the associated workflow category. |
workflowTypes | string | Workflow Types are the assigned values for the type of workflow and can be used as a filter. |
Add or Modify Data
This section outlines the available POST APIs designed for modifying ACTS data. These APIs let you update existing records and insert new records. POSTs should be formatted in JSON.
- To insert new records, set the primary key to 0
- To update existing records, use the primary key of the record.
In the following release, the POST APIs End points are provided to add or update following:
- Analysis
- Analysis Compound
- Emission Factor
- Emissions Recalculate By Equipment
- Emissions Recalculate By Operation
- Equipment
- Equipment Analysis
- Equipment Attribute
- Facility
- Facility Attribute
- Operation
- Workflow
- Workflow Answer
- Workflow Equipment
- Workflow Facility
- Workflow Person
POST requests to these endpoints should be formatted in JSON.
1. Analysis Table
This section guides you through the process of modifying existing Analysis records or adding new entries to the Analysis table using the designated API endpoint. For inserting a new record, please pass the primary key field AnalysisId as 0 in the request body.
Analysis POST endpoint
POST
api/v1/analysis
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/analysis',
headers: { 'content-type': 'application/json' },
body:
[
{
"analysisId": "number",
"analysisName": "string",
"analysisDate": "2024-11-01T12:58:49Z",
"analysisTypeId": "number",
"analysisStatusId": "number",
"alternateName": "string",
"vendorId": "number",
"vendorAnalysisNumber": "string",
"vendorJobNumber": "string",
"vendorId2": "number",
"vendorAnalysisNumber2": "string",
"vendorJobNumber2": "string",
"reviewedById": "number",
"reviewedDate": "2024-11-01T12:58:49Z",
"submitDate": "2024-11-01T12:58:49Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/analysis");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[ {\r\n \"analysisId\": \"number\",\r\n \"analysisName\": \"string\",\r\n
\"analysisDate\": \"2024-11-01T12:58:49Z\",\r\n \"analysisTypeId\": \"number\",\r\n \"analysisStatusId\": \"number\",\r\n
\"alternateName\": \"string\",\r\n \"vendorId\": \"number\",\r\n \"vendorAnalysisNumber\": \"string\",\r\n \"vendorJobNumber\": \"string\",\r\n \"vendorId2\": \"number\",\r\n \"vendorAnalysisNumber2\": \"string\",\r\n \"vendorJobNumber2\": \"string\",\r\n
\"reviewedById\": \"number\",\r\n \"reviewedDate\": \"2024-11-01T12:58:49Z\",\r\n \"submitDate\": \"2024-11-01T12:58:49Z\",\r\n
\"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"}\r\n]",
ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"analysisId": "number",
"analysisName": "string",
"analysisDate": "2024-11-01T12:58:49Z",
"analysisTypeId": "number",
"analysisStatusId": "number",
"alternateName": "string",
"vendorId": "number",
"vendorAnalysisNumber": "string",
"vendorJobNumber": "string",
"vendorId2": "number",
"vendorAnalysisNumber2": "string",
"vendorJobNumber2": "string",
"reviewedById": "number",
"reviewedDate": "2024-11-01T12:58:49Z",
"submitDate": "2024-11-01T12:58:49Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"deletedRowCount" : 0 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update due to invalid analysisId
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 0 ,
"deletedRowCount" : 0 ,
"failureCount" : 1 ,
"errorMessage" : [
"External Identifier : , Error: An error occurred while saving the entity changes. See the inner exception for details. "
]
}
2. Analysis Compound Table
This section guides you through the process of modifying existing Analysis Compound records or adding new entries to the Analysis Compound table using the designated API endpoint. For inserting a new record, please pass the primary key field AnalysisCompoundId as 0 in the request body.
Analysis Compound POST endpoint
POST
api/v1/analysiscompound
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/analysiscompound',
headers: { 'content-type': 'application/json' },
body:
[
{
"analysisCompoundId": "number",
"analysisId": "number",
"compoundId": "number",
"operator": "string",
"analysisValue": "number",
"unitId": "number",
"resultText": "string",
"analysisDate": "2011-07-19T00:00:00z",
"dilutionFactor": "number",
"reportingLimit": "number",
"method": "string",
"methodDetectionLimit": "number",
"qualifier": "string",
"reportableInd": "string",
"dataLockTypeId": "number",
"sortOrder": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/analysiscompound");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[ {\r\n \"analysisCompoundId\": \"number\",\r\n \"analysisId\": \"number\",\r\n
\"compoundId\": \"number\",\r\n \"operator\": \"string\",\r\n \"analysisValue\": \"number\",\r\n \"unitId\": \"number\",\r\n
\"resultText\": \"string\",\r\n \"analysisDate\": \"2011-07-19T00:00:00z\",\r\n \"dilutionFactor\": \"number\",\r\n
\"reportingLimit\": \"number\",\r\n \"method\": \"string\",\r\n \"methodDetectionLimit\": \"number\",\r\n
\"qualifier\": \"string\",\r\n \"reportableInd\": \"string\",\r\n \"dataLockTypeId\": \"number\",\r\n \"sortOrder\": \"number\",\r\n
\"externalIdentifier\": \"string\",\r\n \"comments\": \"string\" }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"analysisCompoundId": "number",
"analysisId": "number",
"compoundId": "number",
"operator": "string",
"analysisValue": "number",
"unitId": "number",
"resultText": "string",
"analysisDate": "2011-07-19T00:00:00z",
"dilutionFactor": "number",
"reportingLimit": "number",
"method": "string",
"methodDetectionLimit": "number",
"qualifier": "string",
"reportableInd": "string",
"dataLockTypeId": "number",
"sortOrder": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"deletedRowCount" : 0 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update due to invalid analysisCompoundId
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 0 ,
"deletedRowCount" : 0 ,
"failureCount" : 1 ,
"errorMessage" : [
"External Identifier : , Error: An error occurred while saving the entity changes. See the inner exception for details. "
]
}
3. Emission Factor Table
This section guides you through the process of modifying existing Emission Factor records or adding new entries to the Emission Factor table using the designated API endpoint. For inserting a new record, please pass the primary key field emissionFactorId as 0 in the request body.
Emission Factor POST endpoint
POST
api/v1/emissionfactor
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/emissionfactor',
headers: { 'content-type': 'application/json' },
body:
[
{
"emissionFactorId": "number",
"equipmentId": "number",
"emissionTypeId": "number",
"emissionCategoryId": "number",
"compoundId": "number",
"emissionFactorName": "string",
"activeDate": "2023-06-25T04:00:00Z",
"emissionFactor": "number",
"unitId": "number",
"viewColumnName": "string",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/emissionfactor");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[ {\r\n \"emissionFactorId\": \"number\",\r\n \"equipmentId\": \"number\",\r\n \"emissionTypeId\": \"number\",\r\n \"emissionCategoryId\": \"number\",\r\n \"compoundId\": \"number\",\r\n \"emissionFactorName\": \"string\",\r\n \"activeDate\": \"2023-06-25T04:00:00Z\",\r\n \"emissionFactor\": \"number\",\r\n \"unitId\": \"number\",\r\n \"viewColumnName\": \"string\",\r\n \"inactiveDate\": \"2023-06-25T04:00:00Z\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"emissionFactorId": "number",
"equipmentId": "number",
"emissionTypeId": "number",
"emissionCategoryId": "number",
"compoundId": "number",
"emissionFactorName": "string",
"activeDate": "2023-06-25T04:00:00Z",
"emissionFactor": "number",
"unitId": "number",
"viewColumnName": "string",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"deletedRowCount" : 0 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update due to invalid EmissionFactorId
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 0 ,
"deletedRowCount" : 0 ,
"failureCount" : 1 ,
"errorMessage" : [
"External Identifier : , Error: An error occurred while saving the entity changes. See the inner exception for details. "
]
}
4. Emissions Recalculate By Equipment
This section guides you through the process of an on-demand update to the emissions calculation for a specific equipment using the designated API endpoint. While this API endpoint is a child of the Equipment table, adding or updating an equipment will not cause an update on its own.
Equipment/EmissionCalculation POST endpoint
POST
api/v1/equipment/emissioncalculation
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/equipment/emissioncalculation',
headers: { 'content-type': 'application/json' },
body:
{ [equipmentId1, equipmentId2, equipmentId3....]
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipment/emissioncalculation");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n [equipmentId1, equipmentId2, equipmentId3....]\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
[equipmentId1, equipmentId2, equipmentId3....]
}
Example Response
{
"processedIds": [
"34",
"36"
],
"invalidIds": [
"1234"
],
"errorMessages": []
}
Example Output when data is missing
{
"processedIds": [],
"invalidIds": [],
"errorMessages": [
"Equipment ids are missing."
]
}
5. Emissions Recalculate By Operation
This section guides you through the process of an on-demand update to the emissions calculation for a specific operation using the designated API endpoint. While this API endpoint is a child of the Operation table, adding or updating an operation with the API will not cause an update on its own.
Operation/EmissionCalculation POST endpoint
POST
api/v1/operation/emissioncalculation
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/operation/emissioncalculation',
headers: { 'content-type': 'application/json' },
body:
{ [operationId1, operationId2, operationId3....]
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/operation/emissioncalculation");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n [operationId1, operationId2, operationId3....]\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
[operationId1, operationId2, operationId3....]
}
Example Response
{
"processedIds": [
"34",
"36"
],
"invalidIds": [
"1234"
],
"errorMessages": []
}
Example Output when data is missing
{
"processedIds": [],
"invalidIds": [],
"errorMessages": [
"Operation ids are missing."
]
}
6. Equipment Table
This section guides you through the process of modifying existing equipment records or adding new entries to the Equipment table using the designated API endpoint.
Equipment POST endpoint
POST
api/v1/equipment
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/equipment',
headers: { 'content-type': 'application/json' },
body:
[ {
"equipmentId": "number",
"areaId": "number",
"facilityId": "number",
"equipmentTypeId": "number",
"sourceName": "string ",
"equipmentStatusId": "number",
"modelId": "number",
"ownershipId": "number",
"ownerId": "number",
"serialNumber": "number",
"manufactureDate": "2023-06-25T04:00:00Z",
"internalName": "string",
"alternateName": "string",
"design": "string",
"originalSurveyDate": "2023-06-25T04:00:00Z",
"activeDate": "2023-06-25T04:00:00Z",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipment");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", " [ {\r\n \"equipmentId\": \"number\",\r\n \"areaId\": \"number\",\r\n \"facilityId\": \"number\",\r\n \"equipmentTypeId\": \"number\",\r\n \"sourceName\": \"string \",\r\n \"equipmentStatusId\": \"number\",\r\n \"modelId\": \"number\",\r\n \"ownershipId\": \"number\",\r\n \"ownerId\": \"number\",\r\n \"serialNumber\": \"number\",\r\n \"manufactureDate\": \"2023-06-25T04:00:00Z\",\r\n \"internalName\": \"string\",\r\n \"alternateName\": \"string\",\r\n \"design\": \"string\",\r\n \"originalSurveyDate\": \"2023-06-25T04:00:00Z\",\r\n \"activeDate\": \"2023-06-25T04:00:00Z\",\r\n \"inactiveDate\": \"2023-06-25T04:00:00Z\",\r\n\t \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"equipmentId": "number",
"areaId": "number",
"facilityId": "number",
"equipmentTypeId": "number",
"sourceName": "string ",
"equipmentStatusId": "number",
"modelId": "number",
"ownershipId": "number",
"ownerId": "number",
"serialNumber": "number",
"manufactureDate": "2023-06-25T04:00:00Z",
"internalName": "string",
"alternateName": "string",
"design": "string",
"originalSurveyDate": "2023-06-25T04:00:00Z",
"activeDate": "2023-06-25T04:00:00Z",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Equipment ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
7. Equipment Analysis Table
This section outlines the process of adding new entries or modifying existing records within the Equipment Analysis table using the dedicated API endpoint.
Equipment Analysis POST Endpoint
POST
api/v1/equipmentanalysis
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/equipmentanalysis',
headers: { 'content-type': 'application/json' },
body:
[
{
"equipmentAnalysisId": "number",
"equipmentId": "number",
"analysisId": "number",
"analysisAssociationTypeId": "number",
"activeDate": "2014-04-01T00:00:00z",
"inactiveDate": "2025-04-01T00:00:00z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipmentanalysis");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", " [\r\n { \r\n\ "equipmentAnalysisId\": \"number\",\r\n \"equipmentId\": \"number\",\r\n
\"analysisId\": \"number\",\r\n \"analysisAssociationTypeId\": \"number\",\r\n \"activeDate\": \"2014-04-01T00:00:00z\",\r\n
\"inactiveDate\": \"2025-04-01T00:00:00z\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\" \r\n }\r\n]",
ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"equipmentAnalysisId": "number",
"equipmentId": "number",
"analysisId": "number",
"analysisAssociationTypeId": "number",
"activeDate": "2014-04-01T00:00:00z",
"inactiveDate": "2025-04-01T00:00:00z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 0 ,
"failureCount" : 1 ,
"errorMessage" : [
"EquipmentAnalysis ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
8. Equipment Attribute Table
This section outlines the process of adding new entries or modifying existing records within the Equipment Attribute table using the dedicated API endpoint.
Equipment Attribute POST Endpoint
POST
api/v1/equipmentattribute
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/equipmentattribute',
headers: { 'content-type': 'application/json' },
body:
[
{
"equipmentAttributeId": "number",
"equipmentId": "number",
"attributeTypeId": "number",
"equipmentAttribute":"string",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments":"string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipmentattribute");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", " [\r\n { \r\n"equipmentAttributeId\": \"number\",\r\n \"equipmentId\": \"number\",\r\n \"attributeTypeId\": \"number\",\r\n \"equipmentAttribute\":\"string\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\":\"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"equipmentAttributeId": "number",
"equipmentId": "number",
"attributeTypeId": "number",
"equipmentAttribute":"string",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments":"string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"EquipmentAttribute ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
9. Facility Table
This section outlines the process of adding new entries or modifying existing records within the Facility table using the dedicated API endpoint.
Facility POST Endpoint
POST
api/v1/facility
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/facility',
headers: { 'content-type': 'application/json' },
body:
[{
"facilityId": "number",
"facilityName": "string",
"areaId": "number",
"facilityTypeId": "number",
"facilityStatusId": "number",
"sortOrder": "number",
"facilityOwnershipId": "number",
"facilityOwnerId": "number",
"landOwnershipId": "number",
"landOwnerId": "number",
"operatorId": "number",
"countryId": "number",
"countyId": "number",
"offshoreBlockId": "number",
"meteorologicalId": "number",
"businessEntityId": "number",
"businessUnitId": "number",
"alternateName": "string",
"purchaseDate": "2023-06-25T04:00:00Z",
"previousOwnerId": "number",
"soldDate": "2023-06-25T04:00:00Z",
"soldToId": "number",
"activeDate": "2023-06-25T04:00:00Z",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/facility");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[{\r\n \"facilityId\": \"number\",\r\n \"facilityName\": \"string\",\r\n \"areaId\": \"number\",\r\n \"facilityTypeId\": \"number\",\r\n \"facilityStatusId\": \"number\",\r\n \"sortOrder\": \"number\",\r\n \"facilityOwnershipId\": \"number\",\r\n \"facilityOwnerId\": \"number\",\r\n \"landOwnershipId\": \"number\",\r\n \"landOwnerId\": \"number\",\r\n \"operatorId\": \"number\",\r\n \"countryId\": \"number\",\r\n \"countyId\": \"number\",\r\n \"offshoreBlockId\": \"number\",\r\n \"meteorologicalId\": \"number\",\r\n \"businessEntityId\": \"number\",\r\n \"businessUnitId\": \"number\",\r\n \"alternateName\": \"string\",\r\n \"purchaseDate\": \"2023-06-25T04:00:00Z\",\r\n \"previousOwnerId\": \"number\",\r\n \"soldDate\": \"2023-06-25T04:00:00Z\",\r\n \"soldToId\": \"number\",\r\n \"activeDate\": \"2023-06-25T04:00:00Z\",\r\n \"inactiveDate\": \"2023-06-25T04:00:00Z\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"facilityId": "number",
"facilityName": "string",
"areaId": "number",
"facilityTypeId": "number",
"facilityStatusId": "number",
"sortOrder": "number",
"facilityOwnershipId": "number",
"facilityOwnerId": "number",
"landOwnershipId": "number",
"landOwnerId": "number",
"operatorId": "number",
"countryId": "number",
"countyId": "number",
"offshoreBlockId": "number",
"meteorologicalId": "number",
"businessEntityId": "number",
"businessUnitId": "number",
"alternateName": "string",
"purchaseDate": "2023-06-25T04:00:00Z",
"previousOwnerId": "number",
"soldDate": "2023-06-25T04:00:00Z",
"soldToId": "number",
"activeDate": "2023-06-25T04:00:00Z",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Facility ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
10. Facility Attribute Table
This section outlines the process of adding new entries or modifying existing records within the Facility Attribute table using the dedicated API endpoint.
Facility Attribute POST Endpoint
POST
api/v1/facilityattribute
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/facilityattribute',
headers: { 'content-type': 'application/json' },
body:
[
{ "facilityAttributeId": "number",
"facilityId": "number",
"attributeTypeId": "number",
"facilityAttribute":"string",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments":"string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/facilityattribute");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[\r\n { \r\n"facilityAttributeId\": \"number\",\r\n \"facilityId\": \"number\",\r\n \"attributeTypeId\": \"number\",\r\n \"facilityAttribute\":\"string\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\":\"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"facilityAttributeId": "number",
"facilityId": "number",
"attributeTypeId": "number",
"facilityAttribute":"string",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments":"string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"FacilityAttribute ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
11. Operation Table
This section outlines the process of adding new entries or modifying existing records within the Operation table using the dedicated API endpoint.
Operation POST Endpoint
POST
api/v1/operation
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/operation',
headers: { 'content-type': 'application/json' },
body:
[
{
"operationId": "number",
"equipmentId": "number",
"emissionTypeId": "number",
"emissionCategoryId": "number",
"operationTypeId": "number",
"activeDate": "2023-06-25T04:00:00Z",
"unitId": "number",
"controlledInd": "string",
"estimatedInd": "string",
"invalidInd": "string",
"calculateEmissionsInd": "string",
"collectionDate": "2023-06-25T04:00:00Z",
"fieldEventId": "number",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string",
"badDataFlag": "number(1,0)",
"operationAmount": "number"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/operation");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[\r\n {\r\n \"operationId\": \"number\",\r\n \"equipmentId\": \"number\",\r\n \"emissionTypeId\": \"number\",\r\n \"emissionCategoryId\": \"number\",\r\n \"operationTypeId\": \"number\",\r\n \"activeDate\": \"2023-06-25T04:00:00Z\",\r\n \"unitId\": \"number\",\r\n \"controlledInd\": \"string\",\r\n \"estimatedInd\": \"string\",\r\n \"invalidInd\": \"string\",\r\n \"calculateEmissionsInd\": \"string\",\r\n \"collectionDate\": \"2023-06-25T04:00:00Z\",\r\n \"fieldEventId\": \"number\",\r\n \"inactiveDate\": \"2023-06-25T04:00:00Z\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\",\r\n \"badDataFlag\": \"number(1,0)\",\r\n \"operationAmount\": \"number\"\r\n } \r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"operationId": "number",
"equipmentId": "number",
"emissionTypeId": "number",
"emissionCategoryId": "number",
"operationTypeId": "number",
"activeDate": "2023-06-25T04:00:00Z",
"unitId": "number",
"controlledInd": "string",
"estimatedInd": "string",
"invalidInd": "string",
"calculateEmissionsInd": "string",
"collectionDate": "2023-06-25T04:00:00Z",
"fieldEventId": "number",
"inactiveDate": "2023-06-25T04:00:00Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string",
"badDataFlag": "number(1,0)",
"operationAmount": "number"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Operation ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
12. Workflow Table
This section outlines the process of adding new entries or modifying existing records within the Workflow table using the dedicated API endpoint.
Workflow POST Endpoint
POST
api/v1/workflow
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/workflow',
headers: { 'content-type': 'application/json' },
body:
[
{
"workflowId": "number",
"workflowTypeId": "number",
"workflowDate": "2024-01-03T08:16:24.155Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflow");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", " [\r\n {\r\n \"workflowId\": \"number\",\r\n \"workflowTypeId\": \"number\",\r\n \"workflowDate\": \"2024-01-03T08:16:24.155Z\",\r\n \"dataLockTypeId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"workflowId": "number",
"workflowTypeId": "number",
"workflowDate": "2024-01-03T08:16:24.155Z",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Workflow Id : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
13. Workflow Answer Table
This section outlines the process of adding new entries or modifying existing records within the Workflow Answer table using the dedicated API endpoint.
Workflow Answer POST Endpoint
POST
api/v1/workflowanswer
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowanswer',
headers: { 'content-type': 'application/json' },
body:
[{
"workflowAnswerId": "number",
"workflowId": "number",
"workflowQuestionId": "number",
"categoryAnswerIndex": "number",
"categoryRevisionIndex": "number",
"questionAnswerIndex": "number",
"questionRevisionIndex": "number",
"workflowAnswer": "string",
"dataLockTypeId": "number",
"personId": "number",
"externalIdentifier": "string",
"comments": "string"
}],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowanswer");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[{\r\n \"workflowAnswerId\": \"number\",\r\n \"workflowId\": \"number\",\r\n \"workflowQuestionId\": \"number\",\r\n \"categoryAnswerIndex\": \"number\",\r\n \"categoryRevisionIndex\": \"number\",\r\n \"questionAnswerIndex\": \"number\",\r\n \"questionRevisionIndex\": \"number\",\r\n \"workflowAnswer\": \"string\",\r\n \"dataLockTypeId\": \"number\",\r\n \"personId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[{
"workflowAnswerId": "number",
"workflowId": "number",
"workflowQuestionId": "number",
"categoryAnswerIndex": "number",
"categoryRevisionIndex": "number",
"questionAnswerIndex": "number",
"questionRevisionIndex": "number",
"workflowAnswer": "string",
"dataLockTypeId": "number",
"personId": "number",
"externalIdentifier": "string",
"comments": "string"
}]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Workflow Answer Id : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
14. Workflow Equipment Table
This section outlines the process of adding new entries or modifying existing records within the Workflow Equipment table using the dedicated API endpoint.
Workflow Equipment POST Endpoint
POST
api/v1/workflowequipment
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowequipment',
headers: { 'content-type': 'application/json' },
body:
[
{
"workflowEquipmentId": "number",
"workflowId": "number",
"equipmentId": "number",
"workflowQuestionId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowequipment");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[\r\n {\r\n \"workflowEquipmentId\": \"number\",\r\n \"workflowId\": \"number\",\r\n \"equipmentId\": \"number\",\r\n \"workflowQuestionId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"workflowEquipmentId": "number",
"workflowId": "number",
"equipmentId": "number",
"workflowQuestionId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Workflow Equipment Id : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
15. Workflow Facility Table
This section outlines the process of adding new entries or modifying existing records within the Workflow Facility table using the dedicated API endpoint.
Workflow Facility POST Endpoint
POST
api/v1/workflowfacility
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowfacility',
headers: { 'content-type': 'application/json' },
body:
[
{
"workflowFacilityId": "number",
"workflowId": "number",
"facilityId": "number",
"workflowQuestionId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/workflowfacility");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[\r\n {\r\n \"workflowFacilityId\": \"number\",\r\n \"workflowId\": \"number\",\r\n \"facilityId\": \"number\",\r\n \"workflowQuestionId\": \"number\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"workflowFacilityId": "number",
"workflowId": "number",
"facilityId": "number",
"workflowQuestionId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Workflow Facility Id : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
16. Workflow Person Table
This section outlines the process of adding new entries or modifying existing records within the Workflow Person table using the dedicated API endpoint.
Workflow Person POST Endpoint
POST
api/v1/workflowperson
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'POST',
url: 'https://[tenant].actsapi.intelex.com/v1/workflowperson',
headers: { 'content-type': 'application/json' },
body:
[
{
"workflowPersonId": "number",
"workflowId": "number",
"personId": "number",
"workflowQuestionId": "number",
"externalIdentifier": "string",
"comments": "string"
}
],
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/Workflowperson");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "[\r\n {\r\n \"workflowPersonId\": \"number\",\r\n \"workflowId\": \"number\",\r\n \"personId\": \"number\",\r\n \"workflowQuestionId\": \"number\",\r\n \"lastModifiedDate\": \"2024-01-03T08:16:24.155Z\",\r\n \"externalIdentifier\": \"string\",\r\n \"comments\": \"string\"\r\n }\r\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
[
{
"workflowPersonId": "number",
"workflowId": "number",
"personId": "number",
"workflowQuestionId": "number",
"externalIdentifier": "string",
"comments": "string"
}
]
Example Response
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Workflow Person Id : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
JSON body for both Insert & Update
JSON Input body for Insert
If the primary id is zero - “0” then the data we are passing is handled as an insert, shown in the example below, where “equipmentAttributeId” is passed as “0”.
Parameter | Description |
---|---|
equipmentAttributeId | equipmentAttributeId for insert we do pass the input as zero “0” |
equipmentId | equipmentId accepts the numbers as input |
attributeTypeId | attributeTypeId accepts the numbers as input |
equipmentAttribute | equipmentAttribute accepts the string data as input |
dataLockTypeId | dataLockTypeId accepts the numbers as input |
externalIdentifier | externalIdentifier accepts the string data as input |
comments | comments accepts the string data as input |
Example Input JSON Body For Insert
[
{
"equipmentAttributeId": 0,
"equipmentId": "number",
"attributeTypeId": "number",
"equipmentAttribute":"string",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments":"string"
}
]
Example Input JSON Body For Update
JSON Input body for Update
If the primary id is an existing ID - “#####” then the data we are passing is handled as an update, shown in the example below, where “equipmentAttributeId” is passed as “164”.
Parameter | Description |
---|---|
equipmentAttributeId | equipmentAttributeId for update we do pass the input as integer like “164” |
equipmentId | equipmentId accepts the numbers as input |
attributeTypeId | attributeTypeId accepts the numbers as input |
equipmentAttribute | equipmentAttribute accepts the string data as input |
dataLockTypeId | dataLockTypeId accepts the numbers as input |
externalIdentifier | externalIdentifier accepts the string data as input |
comments | comments accepts the string data as input |
[
{
"equipmentAttributeId": 164,
"equipmentId": "number",
"attributeTypeId": "number",
"equipmentAttribute":"string",
"dataLockTypeId": "number",
"externalIdentifier": "string",
"comments":"string"
}
]
Example Output For Both Update and Insert
{
"insertedRowCount" : 2 ,
"updatedRowCount" : 3 ,
"failureCount" : 0 ,
"errorMessage" : []
}
Example Output For When Data Get’s Failed To Insert or Update
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 1 ,
"failureCount" : 1 ,
"errorMessage" : [
"Operation ID : 0, Error: An error occurred while saving the entity changes. See the inner exception for details "
]
}
Remove or Delete data from Database Table
This section outlines the available Delete APIs designed for modifying ACTS data by deleteing or removing the data. These APIs offer options for removing existing records from the mentioned tables.
- To remove the existing records, use the primary key of the record.
In the current release, one DELETE API End point is provided to remove or delete from the following table
- Analysis
- Analysis Compound
- Emission Factor
- Equipment Analysis
- Operation
DELETE requests to these endpoints should be formatted in JSON.
1. Analysis Table
This section guides you through the process of removing/deleting the existing records from the Analysis table using the designated API endpoint.
Analysis DELETE endpoint
DELETE
/api/v1/analysis
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'DELETE',
url: 'https://[tenant].actsapi.intelex.com/v1/analysis',
headers: { 'content-type': 'application/json' },
body:
{
[analysisId1, analysisId2, analysisId3....]
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/analysis");
var request = new RestRequest(Method.DELETE);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n [operationId1, operationId2, operationId3....] \r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
[analysisId1, analysisId2, analysisId3....]
}
Example Response
{
"deletedRowCount": 1,
"notFoundCount": 0,
"failureCount": 0,
"errorMessage" : []
}
2. Analysis Compound Table
This section guides you through the process of removing/deleting the existing records from the Analysis Compound table using the designated API endpoint.
Analysis Compound DELETE endpoint
DELETE
/api/v1/analysiscompound
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'DELETE',
url: 'https://[tenant].actsapi.intelex.com/v1/analysiscompound',
headers: { 'content-type': 'application/json' },
body:
{
[analysisCompoundId1, analysisCompoundId2, analysisCompoundId3....]
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/analysiscompound");
var request = new RestRequest(Method.DELETE);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n [analysisCompoundId1, analysisCompoundId2, analysisCompoundId3....] \r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
[analysisCompoundId1, analysisCompoundId2, analysisCompoundId3....]
}
Example Response
{
"deletedRowCount": 1,
"notFoundCount": 0,
"failureCount": 0,
"errorMessage" : []
}
3. Emission Factor Table
This section guides you through the process of removing/deleting the existing records from the Emission Factor table using the designated API endpoint.
Emission Factor DELETE endpoint
DELETE
/api/v1/emissionfactor
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'DELETE',
url: 'https://[tenant].actsapi.intelex.com/v1/emissionfactor',
headers: { 'content-type': 'application/json' },
body:
{
"emissionFactorId": "number"
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/emissionfactor");
var request = new RestRequest(Method.DELETE);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n \"emissionFactorId\": \"number\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
"emissionFactorId": "number"
}
Example Response
{
"insertedRowCount" : 0 ,
"updatedRowCount" : 0 ,
"deletedRowCount" : 1 ,
"failureCount" : 0 ,
"errorMessage" : []
}
4. Equipment Analysis Table
This section guides you through the process of removing/deleting the existing records from the Equipment Analysis table using the designated API endpoint.
Equipment Analysis DELETE endpoint
DELETE
/api/v1/equipmentanalysis
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'DELETE',
url: 'https://[tenant].actsapi.intelex.com/v1/equipmentanalysis',
headers: { 'content-type': 'application/json' },
body:
{
[equipmentanalysisId1, equipmentanalysisId2, equipmentanalysisId3....]
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/equipmentanalysis");
var request = new RestRequest(Method.DELETE);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n [equipmentanalysisId1, equipmentanalysisId2, equipmentanalysisId3....] \r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
[equipmentanalysisId1, equipmentanalysisId2, equipmentanalysisId3....]
}
Example Response
{
"deletedRowCount": 1,
"notFoundCount": 0,
"failureCount": 0,
"errorMessage" : []
}
5. Operation Table
This section guides you through the process of removing/deleting the existing records from the Operation table using the designated API endpoint.
Operation DELETE endpoint
DELETE
/api/v1/operation
Example Request & JSON Input Body
var request = require("request");
var options = { method: 'DELETE',
url: 'https://[tenant].actsapi.intelex.com/v1/operation',
headers: { 'content-type': 'application/json' },
body:
{ [operationId1, operationId2, operationId3....]
},
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var client = new RestClient("https://[tenant].actsapi.intelex.com/v1/operation");
var request = new RestRequest(Method.DELETE);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\r\n [operationId1, operationId2, operationId3....]\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Input JSON Body
{
[operationId1, operationId2, operationId3....]
}
Example Response
{
"deletedRowCount": 1,
"notFoundCount": 0,
"failureCount": 0,
"errorMessage" : []
}
Developer Support
Join the Intelex Developer group on Community and:
- Stay up-to-date about our API
- Ask technical questions
- Give us feedback
- Submit support requests