• Platform
    • Manager
    • Maestro
    • Exchange
    • Workspaces
    • Analytics
    • Springboard
    • API
Transact Services Guide (TSG)

Transact Services Guide (TSG)

  • Getting Started
  • Groovy Guide
  • Service Development
  • Groovy Services API
  • REST API

›Workspaces API

Getting Started

  • Introduction

Groovy Guide

  • Groovy Guide
  • Groovy Declarations
  • Control Statements

Service Development

  • Service Development
  • Transaction Processing Sequence
  • Service Logging
  • Remote Service Calls
  • Fluent Security Configuration
  • Third-party Libraries

Groovy Services API

  • Groovy Services API
  • Fluent Function
  • Delivery Function
  • Form Version Selector
  • Form Security Filter
  • Form Prefill
  • Tracking Number
  • Form Dynamic Data
  • Submission Preprocessor
  • Receipt Number
  • Form Saved Processor
  • Submission Data Validator
  • Submission Completed Processor
  • Render Receipt Service
  • Delivery Process
  • Task Expiry Process
  • Email Service
  • Job Action
  • Scheduled Service
  • Groovy Service
  • SSO Revalidation
  • SSO Get Authentication Token
  • SSO Authentication OK Response
  • SSO Authentication Provider
  • Transaction History Publisher
  • Virus Scan

REST API

  • REST API
  • REST Application Package API
  • REST Delivery API
  • REST Form Groups API
  • REST Groovy Service Invoke v2
  • REST Service Definitions API
  • REST Tasks API
  • REST TestCenter API
  • REST TPac API
  • REST Transactions API
  • REST Transaction History API

Workspaces API

  • Workspaces API
  • Filters
  • Sort
  • Workspaces Category API
  • Workspaces Current User API
  • Workspaces Extract Name API
  • Workspaces Form API
  • Workspaces Group API
  • Workspaces Job API
  • Workspaces Org API
  • Workspaces Property Name API
  • Workspaces Space API
  • Workspaces Txn API
  • Workspaces User API

Workspaces Txn API

The Txn API provides a REST service for querying Transactions in Journey Manager in a secure and efficient manner.

Security

To access the Workspaces REST endpoint the caller needs to pass through Spring Security Session Management. First the user has to be authenticated with the Workspaces configured security manager. The user may authenticate via a login page or via Single Sign-on such as ADFS, oAuth2 or custom SSO.

The result of the API calls is subject to the user security policy.

URL Endpoint

The Workspaces Txn API URL endpoint is as follows:

``` https:///workspaces/secure/api/v1/txn ```

Service API


This section provides a description all the Txn API operations including:

  • POST Cancel Txn
  • POST Comment Txn
  • POST Count Txn
  • POST Query Txn
  • POST Reopen Txn
  • POST Task Assign
  • POST Task Unassign


POST Cancel Txn

The transaction cancel operation will cancel/abandon the specified transaction.
A Bad Request Response will be returned if the transaction does not meet the following requirements:

  • The form status is not "completed" or "abandoned"
  • Accessible by the user calling the API

URL Format

POST https://<tm server>/workspaces/secure/api/v1/txn/cancel

POST Body

The POST request must contain a JSON structure describing the txn query. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response

Attribute Type Description
params Map A map containing the cancel attributes (required)

Supported Cancel Attributes

The cancel attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.

Cancel Attributes Type Description
milestones String A submission milestone value to add to the transaction (optional)
reason String The abandonment reason (optional)
submitKey String The submit key property of the submission/transaction record to cancel (required)

Example: Cancel Txn

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/cancel</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json

{
    "params": {
        "milestones": "Application Status: Staff Cancelled",
        "reason": "Job application will be completed in branch",
        "submitKey": "15d071280b92c867f86975b9cd2e8765"
    }
}

200 Response

The returning of a 200 Response signifies the successful abandonment of the transaction and that no errors occurred during the execution of the API.

Error Messages

Error Key Error Error Code
internalError Please see Error Log ID {number} 500 - Internal Server Error
submitKeyNotSpecified submitKey not specified 400 - Bad Request
txnAlreadyFinished The transaction has already been finished (Completed or Abandoned). 400 - Bad Request
txnNotFound The transaction specified by the submitKey was not found. 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
<dt>404 - Not Found</dt>
<dd>Ensure the URL endpoint is entered correctly.</dd>

<dt>500 - Internal Server Error</dt>
<dd>Exception occurred in txn cancel. Contact administrator.</dd>


POST Comment Txn

The transaction comment operation will add a comment against the transaction specified in the query.

URL Format

``` POST https:///workspaces/secure/api/v1/txn/comment ```

POST Body

The POST request must contain a JSON structure describing the txn comment. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response

Attribute Type Description
params Map A map containing the comment attributes (required)

Supported Comment Attributes

The comment attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.

Comment Attributes Type Description
header String The header/title of the comment (optional)
message String The message/body of the comment, cannot be empty (required)
submitKey String The submit key property of the transaction to add a comment to (required)
parent String The parent comment oid. If this comment is a reply to another comment (optional)

Example: Comment Txn

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/comment</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
    "params": {
        "header": "Adding comments to transactions",
        "message": "this is an example to a comment",
        "submitKey": "15d071280b92c867f86975b9cd2e8765",
        "parent": "1"
    }
}

200 Response

The returning of a 200 Response signifies the comment was successfully added and that no errors occurred during the execution of the API.

Error Messages

<tr>
    <td class="paramName">submitKeyNotSpecified
    </td>
Error Key Error Error Code
accessDenied The user does not have access to transaction specified by the submitKey 400 - Bad Request
internalError Please see Error Log ID {number} 500 - Internal Server Error
messageNotSpecified The comment message is not specified. 400 - Bad Request
parentNotExist The parent comment specified does not exist. 400 - Bad Request
submitKey not specified 400 - Bad Request
txnNotFound The transaction specified by the submitKey was not found 400 - Bad Request
unableToResolvePortal Unable to resolve portal from request 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
404 - Not Found
Ensure the URL endpoint is entered correctly.
500 - Internal Server Error
Exception occurred in txn comment. Contact administrator.


POST Count Txn

Returns the total count of transactions associated with the portal, filtered on the specified criteria.
This API is similar to Query Txn in its supported criteria attributes however ignores the fetchLimit and fetchOffset set in the query.
Only submissions associated with current portal will be included in the count.
If no filters are specified in the query, the following default filters are applied:

  • formStatus in [ 'Saved', 'Opened', 'Assigned']
  • timeRequest range of 14 days

Furthermore, if no formStatus or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND, a default filter "formStatus in ['Saved', 'Opened', 'Assigned']" is added.
Likewise, if no time or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND", a default filter to limit the results to transactions from the last 14 days based on timeRequest is added.

URL Format

POST https://&lt;tm server>/workspaces/secure/api/v1/txn/count

POST Body

The POST request must contain a JSON structure describing the txn query. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response

Attribute Type Description
filters List Provides a list of filters to query transactions by. For more details on how to define the filters, see Filters (optional)
scope String Defines which transactions will be included in the search. By default (or if passing in "Portal"), only transactions directly associated with the current space are included. When passing in "Form", and the user has the "Help Desk View" permissions, all transactions whose forms are associated with the current space are included (even if the transaction itself is associated with a different space).

Supported Criteria Attributes

The criteria attributes supported are listed below. Any additional attributes will return a Bad Request Response.

Criteria Attribute Type Supported Operators Description
authStatus String =, IN Filter transactions based on the authStatus of the transaction
clientCode String =, IN Filter transactions based on the clientCode
emailAddress String =, IN Filter transactions based on the emailAddress associated with the submission.
formCategory String =, IN Filter transactions based on the form template version's association to the category specified
formCode String =, IN Filter transactions based on the form code of the submitted form
formDataMap Map =, IN Filter transactions based on an entry in the formDataMap. Supports exact match of value but not extract name.
Supported: "formDataMap[*] = 'Jane'"
Supported: "formDataMap['firstName'] = 'Jane'"
Supported: "formDataMap['firstName'] IN ('Jane', 'Doe')"
formName String =, IN Filter transactions based on the form name of the submitted form
formStatus String =, IN Filter transactions based on transaction form status
groupName String =, IN Filter transactions based on the association with submission groups with names specified
jobRefNumber String =, IN Filter transactions based on the job reference number
milestones String =, IN Filter transactions based on submission milestones
properties Map =, IN Filter transactions based on submission properties. Supports exact match of both name and value for a single property per search.
Supported: "properties[*] = 'prop1Value'"
Supported: "properties['property1'] = 'prop1Value'"
Supported: "properties['property1'] IN ('prop1Value', 'prop2Value')"
spaceName String =, IN Filter transactions based on the association with spaces with name(s) specified
submitKey String =, IN Filter transactions based on the submission submitKey. Will match to one transaction record.
timeAbandoned String >, >=, =, Filter transactions based on the time abandoned timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeAbandoned < '2018-01-01'"
e.g. "timeAbandoned > '2019-01-01 09:00:00'"
e.g. "timeAbandoned <= '2018-01-01T15:17:29+10:00'"
timeCompleted String >, >=, =, Filter transactions based on the time completed timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeCompleted > '2018-01-01'"
e.g. "timeCompleted = '2018-01-01 23:17:29'"
e.g. "timeCompleted < '2018-01-01T15:17:29+10:00'"
timeCreated String >, >=, =, Filter transactions based on the time created timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeCreated < '2018-01-01'"
e.g. "timeCreated <= '2018-01-01 15:17:29'"
e.g. "timeCreated >= '2018-01-01T15:17:29+10:00'"
timeRequest String >, >=, =, Filter transactions based on the time request timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeRequest <= '2018-01-01'"
e.g. "timeRequest = '2018-01-01 15:17:29'"
e.g. "timeRequest <= '2018-01-01T15:17:29+10:00'"
timeSubmitted String >, >=, =, Filter transactions based on the time submitted timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeSubmitted > '2018-01-01'"
e.g. "timeSubmitted = '2018-01-01 15:17:29'"
e.g. "timeSubmitted <= '2018-01-01T15:17:29+10:00'"
timeUserLastModified String >, >=, =, Filter transactions based on the time user last modified timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeUserLastModified >= '2018-01-01'"
e.g. "timeUserLastModified = '2019-01-01 23:17:29'"
e.g. "timeUserLastModified < '2018-01-01T15:17:29+10:00'"
trackingCode String =, IN Filter transactions based on the tracking code. Will match to one transaction record.
userLoginName String =, IN Filter transactions based on the user login name
userSaved Boolean = Filter transactions based on the user saved property
True: "userSaved = 1"
False: "userSaved = 0" and/or "userSaved = null"

Example: Count Txn

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/count</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json

{
    "filters": [
        {
            "criteria": [
                "clientCode = 'workspace'",
                "formCode = 'loanapplicationwithr'",
                "timeUserLastModified &lt; '2018-08-06'",
                "timeUserLastModified > '2018-07-06'"
            ],
            "operator": "and"
        }
    ]
}

200 Response

{
    "count": 3
}

More examples

Complex queries can be created from joining multiple criterias using "AND" or "OR" operators.
For examples on how define these queries, see Filters

Error Messages

Error Key Error Error Code
illegalArgument Unsupported criteria attribute: <attribute>
Unsupported operator for attribute '<attribute>': <Operator>
For input string: <string> Invalid scope: <string>
Please see Error Log ID {number}
400 - Bad Request
internalError Please see Error Log ID {number} 500 - Internal Server Error
unableToResolvePortal Unable to resolve portal from request 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
<dt>404 - Not Found</dt>
<dd>Ensure the URL endpoint is entered correctly.</dd>

<dt>500 - Internal Server Error</dt>
<dd>Exception occurred in txn count. Contact administrator.</dd>


POST Query Txn

Returns a list of transaction filtered on the specified criteria. Only submissions associated with current portal will be returned
If no filters are specified in the query, the following default filters are applied:

  • formStatus in [ 'Saved', 'Opened', 'Assigned']
  • timeRequest range of 14 days

Furthermore, if no formStatus or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND, a default filter "formStatus in ['Saved', 'Opened', 'Assigned']" is added.
Likewise, if no time or identity (submitKey, trackingCode, jobRefNumber) filters are specified within an operator "AND", a default filter to limit the results to transactions from the last 14 days based on timeRequest is added.

The result will be ordered by submission oid by default however a sorting order can be defined.

URL Format

POST https://&lt;tm server>/workspaces/secure/api/v1/txn/query

POST Body

The POST request must contain a JSON structure describing the txn query. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise):

Attribute Type Description
attributes List Provides a list of attributes to return.
Specified the attributes to return in each txn in the result. Transactions consists of the attributes listed in Txn Result Attributes.
If not attributes are specified, all attributes will be returned. (optional)
fetchLimit Integer Specifies the fetchLimit of the query and is the max number of results returned.
Default value is applied if fetchLimit entered is greater than 10,000. Default value is 10,000 (required)
fetchOffset Integer Specifies fetchOffset of the query.
Returns (fetchOffset + fetchLimit) number of results starting from the fetchOffset index. Default value is 0 (optional)
filters List Provides a list of filters to query transactions by. For more details on how to define the filters, see Filters (optional)
scope String Defines which transactions will be included in the search. By default (or if passing in "Portal"), only transactions directly associated with the current space are included. When passing in "Form", and the user has the "Help Desk View" permissions, all transactions whose forms are associated with the current space are included (even if the transaction itself is associated with a different space).
sorts List Provides a list of sort orderings to sort transactions by. For more details on how to define the sorting, see Sorts (optional)

Supported Criteria Attributes

The criteria attributes supported are listed below. Any additional attributes will return a Bad Request Response.

Criteria Attribute Type Supported Operators Description
authStatus String =, IN Filter transactions based on the authStatus of the transaction
clientCode String =, IN Filter transactions based on the clientCode
emailAddress String =, IN Filter transactions based on the emailAddress associated with the submission.
formCategory String =, IN Filter transactions based on the form template version's association to the category specified
formCode String =, IN Filter transactions based on the form code of the submitted form
formDataMap Map = Filter transactions based on an entry in the formDataMap. Supports exact match of value but not extract name.
Supported: "formDataMap[*] = 'Jane'"
Supported: "formDataMap['firstName'] = 'Jane'"
Supported: "formDataMap['firstName'] IN ('Jane', 'Doe')"
formName String =, IN Filter transactions based on the form name of the submitted form
formStatus String =, IN Filter transactions based on transaction form status
groupName String =, IN Filter transactions based on the association with submission groups with names specified
jobRefNumber String =, IN Filter transactions based on the job reference number
milestones String =, IN Filter transactions based on submission milestones
properties Map =, IN Filter transactions based on submission properties. Supports exact match of both name and value for a single property per search.
Supported: "properties[*] = 'prop1Value'"
Supported: "properties['property1'] = 'prop1Value'"
Supported: "properties['property1'] IN ('prop1Value', 'prop2Value')"
spaceName String =, IN Filter transactions based on the association with spaces with name(s) specified
submitKey String =, IN Filter transactions based on the submission submitKey. Will match to one transaction record.
timeAbandoned String >, >=, =, Filter transactions based on the time abandoned timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeAbandoned < '2018-01-01'"
e.g. "timeAbandoned > '2019-01-01 09:00:00'"
e.g. "timeAbandoned <= '2018-01-01T15:17:29+10:00'"
timeCompleted String >, >=, =, Filter transactions based on the time completed timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeCompleted > '2018-01-01'"
e.g. "timeCompleted = '2018-01-01 23:17:29'"
e.g. "timeCompleted < '2018-01-01T15:17:29+10:00'"
timeCreated String >, >=, =, Filter transactions based on the time created timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeCreated < '2018-01-01'"
e.g. "timeCreated <= '2018-01-01 15:17:29'"
e.g. "timeCreated >= '2018-01-01T15:17:29+10:00'"
timeRequest String >, >=, =, Filter transactions based on the time request timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeRequest <= '2018-01-01'"
e.g. "timeRequest = '2018-01-01 15:17:29'"
e.g. "timeRequest <= '2018-01-01T15:17:29+10:00'"
timeSubmitted String >, >=, =, Filter transactions based on the time submitted timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeSubmitted > '2018-01-01'"
e.g. "timeSubmitted = '2018-01-01 15:17:29'"
e.g. "timeSubmitted <= '2018-01-01T15:17:29+10:00'"
timeUserLastModified String >, >=, =, Filter transactions based on the time user last modified timestamp in the format "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss" or "yyyy-MM-ddTHH:mm:ssZ" (the returned date format)
e.g. "timeUserLastModified >= '2018-01-01'"
e.g. "timeUserLastModified = '2019-01-01 23:17:29'"
e.g. "timeUserLastModified < '2018-01-01T15:17:29+10:00'"
trackingCode String =, IN Filter transactions based on the tracking code. Will match to one transaction record.
userLoginName String =, IN Filter transactions based on the user login name
userSaved Boolean = Filter transactions based on the user saved property
True: "userSaved = 1"
False: "userSaved = 0" and/or "userSaved = null"

Result Attributes

The transactions returned by the query consist of a number of attributes. If only certain attributes are of interest, they can be specified in the "attributes" parameter in the Txn Query.
By default, all attributes are populated and returned if their value is not empty.

All Transaction attributes are listed below, any additional attributes or spelling errors will return a Bad Request response.

"attributes": [
    "authStatus",
    "clientCode",
    "comments",
    "emailAddress",
    "fileAttachments",
    "formCategories",
    "formCode",
    "formDataMap",
    "formName",
    "formStatus",
    "formUrl",
    "groupName",
    "job",
    "job.currentAction",
    "job.currentStep",
    "job.jobKey",
    "job.name",
    "job.jobRefNumber",
    "job.status",
    "job.timeCompletionScheduled",
    "job.timeCreated",
    "job.timeLastModified",
    "milestones",
    "properties",
    "receiptUrl",
    "spaceName",
    "submitKey",
    "taskType",
    "timeAbandoned",
    "timeCompleted",
    "timeCreated",
    "timeRequest",
    "timeSubmitted",
    "timeUserLastModified",
    "trackingCode",
    "userLoginName",
    "userSaved"
]

Example 1: Query Txn with Result Attributes

In this example, attributes are passed into the query, hence only the specified attributes will be returned.
If the attribute value is empty, it will not be returned.

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/query</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json

{
    "fetchLimit": 100,
    "fetchOffset": 0,
    "attributes": [
        "clientCode",
        "formDataMap",
        "formCode",
        "submitKey",
        "job",
        "job.jobRefNumber"
    ],
    "filters": [
        {
            "criteria": [
                "clientCode = 'workspace'",
                "formCode = 'loanapplicationwithr'",
                "timeUserLastModified &lt; '2018-08-06'",
                "timeUserLastModified > '2018-07-06'"
            ],
            "operator": "and"
        }
    ],
    "sorts": [
        "submitKey asc"
    ],
    "scope": "portal"
}

200 Response

{
    "fetchLimit": 100,
    "fetchOffset": 0,
    "durationMs": 37,
    "totalCount": 3,
    "result": [
        {
            "clientCode": "workspace",
            "fileAttachments": [],
            "formCategories": [],
            "formCode": "loanapplicationwithr",
            "formDataMap": {
                "firstName": "Katheleen Pacinovsky",
                "lastName": "Pacinovsky",
                "loanAmount": "15000",
                "emailAddress": "Katheleen.Pacinovsky@avoka.com",
                "gender": "F",
                "Gender": "F"
            },
            "job": {
                "jobRefNumber": "9B4W7NM"
            },
            "submitKey": "08215d28b908dc616a03325b7eaafee7"
        },
        {
            "clientCode": "workspace",
            "fileAttachments": [],
            "formCategories": [],
            "formCode": "loanapplicationwithr",
            "formDataMap": {
                "firstName": "Louise Pica",
                "lastName": "Pica",
                "loanAmount": "10000",
                "emailAddress": "Louise.Pica@avoka.com",
                "gender": "F",
                "Gender": "F"
            },
            "job": {
                "jobRefNumber": "MXGR2DC"
            },
            "submitKey": "0a426dcf7c648c4e9cc06083bd5669b4"
        },
        {
            "clientCode": "workspace",
            "fileAttachments": [],
            "formCategories": [],
            "formCode": "loanapplicationwithr",
            "formDataMap": {
                "firstName": "Lily Grace Haynesworthington",
                "lastName": "Haynesworthington",
                "loanAmount": "10000",
                "emailAddress": "Lilygrace.Haynesworthington@avoka.com",
                "gender": "F",
                "Gender": "F"
            },
            "job": {
                "jobRefNumber": "G4HYYSY"
            },
            "submitKey": "6057bc3cef7773f5745a780258d6156a"
        }
    ]
}

Example 2: Query Txn without Result Attributes

In this example, no attributes are passed into the query, hence all attributes for the transactions are returned.
If the attribute value is empty, it will not be returned.

POST <b>/workspaces/secure/api/v1/user/query</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json

{
    "fetchLimit": 100,
    "fetchOffset": 0,
    "filters": [
        {
            "criteria": [
                "clientCode = 'workspace'",
                "formCode = 'loanapplicationwithr'",
                "timeUserLastModified &lt; '2018-08-06'",
                "timeUserLastModified > '2018-07-06'"
            ],
            "operator": "and"
        }
    ],
    "sorts": [
        "submitKey asc"
    ]
}

200 Response

{
    "fetchLimit": 100,
    "fetchOffset": 0,
    "durationMs": 200,
    "totalCount": 3,
    "result": [
        {
            "clientCode": "workspace",
            "comments": [
                {
                    "timeAdded": "2018-09-05T19:54:33-06:00",
                    "session": "441SKEuP-fmzpzbwi3a6JZNjOHmaq7jHxbxz2Sem",
                    "ipAddress": "114.141.100.202",
                    "commentId": "1",
                    "header": "comment header",
                    "userLoginName": "user2",
                    "message": "this is an example to a comment"
                },
                {
                    "parent": "1",
                    "timeAdded": "2018-09-05T19:55:05-06:00",
                    "session": "441SKEuP-fmzpzbwi3a6JZNjOHmaq7jHxbxz2Sem",
                    "ipAddress": "114.141.100.202",
                    "commentId": "2",
                    "header": "reply header",
                    "userLoginName": "user2",
                    "message": "reply comment"
                }
            ],
            "emailAddress": "Katheleen.Pacinovsky@avoka.com",
            "fileAttachments": [],
            "formCategories": [
                "Loan applications"
            ],
            "formCode": "loanapplicationwithr",
            "formDataMap": {
                "firstName": "Katheleen Pacinovsky",
                "lastName": "Pacinovsky",
                "loanAmount": "15000",
                "emailAddress": "Katheleen.Pacinovsky@avoka.com",
                "gender": "F",
                "Gender": "F"
            },
            "formName": "Loan Application With Review",
            "formStatus": "Opened",
            "formUrl": "https://earlyaccess.rnd.avoka-transact.com/workspaces/secure/servlet/SmartForm.html?submitKey=08215d28b908dc616a03325b7eaafee7",
            "groupName": "Job Reviewers",
            "job": {
                "jobKey": "aaaa837c177b22fb49b91daa03c40c64",
                "jobRefNumber": "9B4W7NM",
                "name": "Auto Test - 1 Step Review",
                "status": "In Progress",
                "currentStep": "Application Review",
                "currentAction": "Review Wait",
                "timeCreated": "2019-03-26T13:00:02+11:00",
                "timeCompletionScheduled": "2019-03-26T13:00:02+11:00",
                "timeLastModified": "2019-03-26T13:00:02+11:00"
            },
            "milestones": [],
            "properties": {},
            "spaceName": "Work Spaces",
            "submitKey": "08215d28b908dc616a03325b7eaafee7",
            "taskType": "Review",
            "timeCreated": "2018-07-24T15:17:29+10:00",
            "timeRequested": "2018-07-24T15:17:29+10:00",
            "timeUserLastModified": "2018-07-24T15:17:29+10:00",
            "trackingCode": "M95M46T",
            "userLoginName": "cwang",
            "userSaved": false
        },
        {
            "clientCode": "workspace",
            "comments": [],
            "emailAddress": "Louise.Pica@avoka.com",
            "fileAttachments": [],
            "formCategories": [
                "Loan applications"
            ],
            "formCode": "loanapplicationwithr",
            "formDataMap": {
                "firstName": "Louise Pica",
                "lastName": "Pica",
                "loanAmount": "10000",
                "emailAddress": "Louise.Pica@avoka.com",
                "gender": "F",
                "Gender": "F"
            },
            "formName": "Loan Application With Review",
            "formStatus": "Opened",
            "formUrl": "https://earlyaccess.rnd.avoka-transact.com/workspaces/secure/servlet/SmartForm.html?submitKey=0a426dcf7c648c4e9cc06083bd5669b4",
            "groupName": "Job Reviewers",
            "job": {
                "jobKey": "aaaa837c177b22fb49b91daa03c40c64",
                "jobRefNumber": "MXGR2DC",
                "name": "Auto Test - 1 Step Review",
                "status": "In Progress",
                "currentStep": "Application Review",
                "currentAction": "Review Wait",
                "timeCreated": "2019-03-26T13:00:02+11:00",
                "timeCompletionScheduled": "2019-03-26T13:00:02+11:00",
                "timeLastModified": "2019-03-26T13:00:02+11:00"
            },
            "milestones": [],
            "properties": {},
            "spaceName": "Work Spaces",
            "submitKey": "0a426dcf7c648c4e9cc06083bd5669b4",
            "taskType": "Review",
            "timeCreated": "2018-07-25T13:02:08+10:00",
            "timeRequested": "2018-07-25T13:02:08+10:00",
            "timeUserLastModified": "2018-07-25T13:02:08+10:00",
            "trackingCode": "MRW8PQW",
            "userLoginName": "kparameswaran@avoka.com",
            "userSaved": false
        },
        {
            "clientCode": "workspace",
            "comments": []
            "emailAddress": "Lilygrace.Haynesworthington@avoka.com",
            "fileAttachments": [],
            "formCategories": [
                "Loan applications"
            ],
            "formCode": "loanapplicationwithr",
            "formDataMap": {
                "firstName": "Lily Grace Haynesworthington",
                "lastName": "Haynesworthington",
                "loanAmount": "10000",
                "emailAddress": "Lilygrace.Haynesworthington@avoka.com",
                "gender": "F",
                "Gender": "F"
            },
            "formName": "Loan Application With Review",
            "formStatus": "Opened",
            "formUrl": "https://earlyaccess.rnd.avoka-transact.com/workspaces/secure/servlet/SmartForm.html?submitKey=6057bc3cef7773f5745a780258d6156a",
            "groupName": "Job Reviewers",
            "job": {
                "jobKey": "aaaa837c177b22fb49b91daa03c40c64",
                "jobRefNumber": "G4HYYSY",
                "name": "Auto Test - 1 Step Review",
                "status": "In Progress",
                "currentStep": "Application Review",
                "currentAction": "Review Wait",
                "timeCreated": "2019-03-26T13:00:02+11:00",
                "timeCompletionScheduled": "2019-03-26T13:00:02+11:00",
                "timeLastModified": "2019-03-26T13:00:02+11:00"
            },
            "milestones": [],
            "properties": {},
            "spaceName": "Work Spaces",
            "submitKey": "6057bc3cef7773f5745a780258d6156a",
            "taskType": "Review",
            "timeCreated": "2018-07-24T15:17:59+10:00",
            "timeRequested": "2018-07-24T15:17:59+10:00",
            "timeUserLastModified": "2018-07-24T15:17:59+10:00",
            "trackingCode": "FND9SG6",
            "userSaved": false
        }
    ]
}

More examples

Complex queries can be created from joining multiple criterias using "AND" or "OR" operators.
For examples on how define these queries, see Filters

Error Messages

Error Key Error Error Code
illegalArgument Unsupported criteria attribute: <attribute>
Unsupported operator for attribute '<attribute>': <Operator>
For input string: <string>
Invalid scope: <string>
Invalid sort string: <string>
Unsupported sort attribute:
Please see Error Log ID {number}
400 - Bad Request
internalError Please see Error Log ID {number} 500 - Internal Server Error
unableToResolvePortal Unable to resolve portal from request 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
404 - Not Found
Ensure the URL endpoint is entered correctly.
500 - Internal Server Error
Exception occurred in txn query. Contact administrator.


POST Reopen Txn

The transaction reopen operation will revert the specified transaction from abandoned into saved status. This will work similarly to the "Make Abandoned Transaction Saved" action on the "Abandoned Transactions" page.
A Bad Request Response will be returned if the transaction does not meet the following requirements:

  • The form status is "abandoned"
  • The transaction data has not yet been deleted. Once deleted, the transaction cannot be reverted.
  • Accessible by the user calling the API

URL Format

POST https://<tm server>/workspaces/secure/api/v1/txn/reopen

POST Body

The POST request must contain a JSON structure describing the txn query. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response

Attribute Type Description
params Map A map containing the reopen attributes (required)

Supported Reopen Attributes

The reopen attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.

Reopen Attributes Type Description
milestones String A submission milestone value to add to the transaction (optional)
submitKey String The submit key property of the submission/transaction record to reopen (required)

Example: Reopen Txn

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/reopen</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json

{
    "params": {
        "milestones": "Application Status: Staff Reopened",
        "submitKey": "15d071280b92c867f86975b9cd2e8765"
    }
}

200 Response

The returning of a 200 Response signifies the successful reopening of the transaction and that no errors occurred during the execution of the API.

Error Messages

Error Key Error Error Code
internalError Please see Error Log ID {number} 500 - Internal Server Error
submitKeyNotSpecified submitKey not specified 400 - Bad Request
txnDataDeleted Transaction data has been deleted, and so the transaction cannot be reverted. 400 - Bad Request
txnNotAbandoned The transaction is not abandoned. 400 - Bad Request
txnNotFound The transaction specified by the submitKey was not found. 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
404 - Not Found
Ensure the URL endpoint is entered correctly.
500 - Internal Server Error
Exception occurred in txn reopen. Contact administrator.


POST Assign Txn

The transaction assign operation will reassign a submission task to the user specified in the query.
A Bad Request Response will be returned if the transaction does not meet the following requirements:

  • The form status is not "completed" or "abandoned"
  • The transaction is a task, with the taskKey not empty
  • Accessible by the user calling the API
  • Not currently associated with a user (to reassign a task, unassign it first)

URL Format

POST https://<tm server>/workspaces/secure/api/v1/txn/assign

POST Body

The POST request must contain a JSON structure describing the txn query. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response

Attribute Type Description
params Map A map containing the assign attributes (required)

Supported Assign Attributes

The assign attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.

Assign Attributes Type Description
submitKey String The submit key property of the task to assign (required)
userKey String The user key property of the user account to assign the task to (required)

Example: Assign Txn

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/assign</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
    "params": {
        "submitKey": "15d071280b92c867f86975b9cd2e8765",
        "userKey": "378595572a1bd63ff9b5972b7a1c91dd"
    }
}

200 Response

The returning of a 200 Response signifies the task was successfully assigned to the user and that no errors occurred during the execution of the API.

Error Messages

Error Key Error Error Code
accessDenied The user does not have access to transaction specified by the submitKey 400 - Bad Request
internalError Please see Error Log ID {number} 500 - Internal Server Error
submitKeyNotSpecified submitKey not specified 400 - Bad Request
txnAlreadyAssigned The task is currently assigned to a user. To reassign it, unassign it first, then assign it to the new user. 400 - Bad Request
txnAlreadyFinished The transaction specified by the submitKey has already been finished (Completed or Abandoned) 400 - Bad Request
txnNotFound The transaction specified by the submitKey was not found 400 - Bad Request
txnNotTask The transaction specified by the submitKey is not a task 400 - Bad Request
userKeyNotSpecified userKey not specified 400 - Bad Request
userNotFound The user account specified by the userKey was not found 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
<dt>404 - Not Found</dt>
<dd>Ensure the URL endpoint is entered correctly.</dd>

<dt>500 - Internal Server Error</dt>
<dd>Exception occurred in txn assign. Contact administrator.</dd>


POST Unassign Txn

The transaction unassign operation will unassign a submission task specified in the query.
A Bad Request Response will be returned if the transaction does not meet the following requirements:

  • The form status is not "completed" or "abandoned"
  • The task is not assigned to a group
  • The transaction is a task, with the taskKey not empty
  • Accessible by the user calling the API

URL Format

POST https://<tm server>/workspaces/secure/api/v1/txn/unassign

POST Body

The POST request must contain a JSON structure describing the txn query. To support multiple parameters this API uses the HTTP Content Type: application/json

The set of query JSON attributes is listed below (all attributes are optional unless indicated otherwise). Any additional attributes will be ignored or return a Bad Request Response

Attribute Type Description
params Map A map containing the unassign attributes (required)

Supported Unassign Attributes

The unassign attributes supported are listed below. Any additional attributes will be ignored or return a Bad Request Response.

Unassign Attributes Type Description
submitKey String The submit key property of the task to assign (required)

Example: Unassign Txn

Please ensure you specify Content-Type: application/json

POST <b>/workspaces/secure/api/v1/txn/unassign</b> HTTP/1.1
Host: https://transact.workspaces.com
Content-Type: application/json
{
    "params": {
        "submitKey": "15d071280b92c867f86975b9cd2e8765"
    }
}

200 Response

The returning of a 200 Response signifies the task was successfully unassigned and that no errors occurred during the execution of the API.

Error Messages

Error Key Error Error Code
accessDenied The user does not have access to transaction specified by the submitKey 400 - Bad Request
internalServerError 500 - Internal Server Error
notGroupTask The transaction specified by the submitKey is not group assigned transaction 400 - Bad Request
submitKeyNotSpecified submitKey not specified 400 - Bad Request
txnAlreadyFinished The transaction specified by the submitKey is already been finished (Completed or Abandoned) 400 - Bad Request
txnNotFound The transaction specified by the submitKey was not found 400 - Bad Request
txnNotTask The transaction specified by the submitKey is not a task 400 - Bad Request

Error Responses

400 - Bad Request
Bad request or request parameter. Check error message for details.
404 - Not Found
Ensure the URL endpoint is entered correctly.
500 - Internal Server Error
Exception occurred in txn unassign. Contact administrator.
← Workspaces Space APIWorkspaces User API →
  • Service API

Terms & Conditions

Privacy Policy

Cookie Policy

Copyright © 2003-2022 Temenos Headquarters SA