InRule Process Automation allows custom integration via an Application Programming Interface (API) integration. This documentation describes how you can access the API in order to retrieve or set information to process models and applications that you create in the web service.


Software and Protocol Requirements

Required Software/Protocol support for REST API clients

There are no specific requirements, although support for the HTTP protocol and JSON data format is required in order to use the REST API.


API Version

1.0 - Current API version


API Syntax

<<SERVER URL>>/API/v1.0/<<Resource>>/<<Id>>/<<Selector>>/<<SelectorId>>/<<SubSelector>>/<<SubSelectorId>>
<<SERVER URL>>/API/v1.0/{Resource}/{Id}/{Selector}/{SelectorId}?{QueryString1}={Value1}&{QueryString2}={Value2}


ParameterDescription
ResourceThe type of resource you wish to access, e.g. process, instance, task, object
Id(Optional) The system-generated Id or the registered Id for the resource
Selector(Optional) Selects a specific set of data or underlying resource from the designated resource
SelectorId(Optional) Selects an item from the specific set of data or the resource designated by the Selector
SubSelector(Optional) Selects a specific set of data or underlying resource from the item specified by SelectorId
SubSelectorId(Optional) Selects an item from the specific set of data or the resource designated by the SubSelector


Global querystringsValue(s)Description
formatjson,xml(Optional) Sets the output format for the API call
jsonp{METHOD}(Optional) Enables Json with padding which is useful in cross-site situations
jsontexttrue(Optional) Returns Json with the content-type text/json instead of application/json


API Data Format

All data except binary data is returned in the JSON format by default, you can read more about that here.

All dates are returned in the ISO-8601 format (Read more about the ISO-8601 format here ) in coordinated universal time (UTC)

All HTTP POST-requests except for file uploads must include the HTTP Header "Content-Type" set to "application/x-www-form-urlencoded"

All HTTP POST parameters except for file uploads must be URL-encoded as "x-www-form-urlencoded" (Read more on this here) where non--ASCII characters must be encoded in UTF-8. More information is available here.

HTTP POST file uploads must conform to RFC 1867 (Read more about RFC 1867 here)


API Error Messages

Error messages are returned as standard HTTP error messages with an HTTP status code and a response in JSON format:

{success: false, errorCode: ERROR_CODE, errorMessage: “Error message”, errorLogId: "ERROR_LOG_ID", errorData: ERROR_DATA}


ERROR_CODE is a standard HTTP status code (eg 400 = Bad request, 404 = Not found, 500 = Internal server error). ERROR_LOG_ID refers to a logged error message that can contain more information about the error. The format of ERROR_DATA varies and depends on the error.