IBM FileNet P8, Version 5.2.1            

Process Engine REST Service Reference

REST Service URL

The format for Process Engine REST Service resource URIs is as follows:
http://CPEServerHost:CPEServerPort/peengine/P8BPMREST/p8/bpm/v1/{resourceName}[?cp={connectionPointName}][&{resourceParameters}]
CPEServerHost
The name of the Content Platform Engine server hosting the REST Service.
CPEServerPort
The Content Platform Engine server port that is used for REST Service communications.
resourceName
The name of the Process Engine REST resource to use.
cp=
(Optional) The isolated region connection point that is used by the Process Engine REST Service is assigned in the P8PMRESTConfig.xml file. You can specify this parameter for any resource to override the connection point set. The format is:
cp=connectionPointName
connectionPointName is the name of an existing connection point. For more information, see Configuring REST Service, and Defining the workflow system.
resourceParameters
Any parameters that are specified for the named Process Engine REST resource.

The Process Engine REST Service version identification (/v1) enables subsequent updates to the REST Service.

Resources

The Process Engine REST Service resources are as follows:

Application Spaces

Domains

Groups

Roles

Steps

Users

Workbaskets

Workclasses

Application Space Names

/p8/bpm/v1/appspacenames

Description

The collection of the names of the application spaces, including those to which the current user does not have access permissions. This is useful in selecting an application space for page creation.

Path Elements

None.

Application HTTP Methods

GET

Gets the collection of application spaces.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/appspacenames

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the application space names.",
  "additionalProperties":
  {
    "type":"object",
    "properties":
    {
      "name":{"type":"string"},
      "rolenames": 
      {
        "type":"string",
        "format":"uri"
      } 
    }   
  }     
}
Response Example
{ 
  "Autoclaim": 
  { 
    "name":" Autoclaim", 
    "rolenames":"appspacenames/Autoclaim/rolenames"
  },
  "Healthclaim":
  { 
    "name":"Healthclaim",
    "rolenames":"appspacenames/Healthclaim/rolenames"}
}
Table 1. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Current User

/p8/bpm/v1/currentuser

Description

The name, ID, email address, and display name of the current user in the application space.

Path Elements

None

Application HTTP Methods

GET

Gets the roles in the specified application space of which the current user is a member.

Parameters

None

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/currentuser

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains information for the current user.",
  "properties": 
  {
    "type":"object",
    "properties":
    {  
      "name":{"type":"string","description":"Current user name."},
      "id": {"type":"long","description":"Associated user ID."},
      "email":{"type":"string","description":"email"},
      "displayName":{"type":"string","description":"display name"}
    }
  } 
}
Response Example
{
  "name":"elijah",
  "id": 23
  "email":"elijah@zzz.net",
  "displayName":"Elijah BBB"
}
Table 2. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Groups

/p8/bpm/v1/groups

Description

A collection of groups. This is useful in selecting groups for role memberships or work item assignments.

You can limit the search scope by using the domainName GET parameter to specify the domain. When a domain name is not specified, the search scope is all domains.

The Group objects contain both a name property and a displayName property. The name value is the short group name that is cached in the Process Engine database. This name is always stored in lowercase. The displayName value is retrieved from the LDAP server, and is case-sensitive. Use the displayName value if the original case is required.

Path Elements

None.

Application HTTP Methods

GET

Gets the group name or names based on the specified search parameters.

Table 3. Groups parameters
Required? Name Data Type Description
Required searchPattern String The comparison string to be used to determine whether a group name is a match. The comparison is performed according to the method specified by the searchType parameter. This parameter is ignored when the searchType is 0 (SEARCH_TYPE_NONE).
Required searchType Integer Determines how the specified searchPattern is to be used. This can be any one of the following integer values:
  • 0 (SEARCH_TYPE_NONE): The searchPattern string is ignored (if specified), and all group names for the indicated scope are returned. This can cause a performance degradation for large databases.
  • 1 (SEARCH_TYPE_CUSTOM): The searchPattern string is an exact match.
  • 2 (SEARCH_TYPE_PREFIX_MATCH): The searchPattern string has an exact match at the beginning of the group name.
  • 3 (SEARCH_TYPE_SUFFIX_MATCH): The searchPattern string has an exact match at the end of the group name.
  • 4 (SEARCH_TYPE_CONTAINS): The searchPattern string has an exact match anywhere within the group name.
Optional sortType Integer Indicates the type of sorting the security database server performs on the returned set of records. If sorting fails on the security database server, an error is thrown and no results are returned. This can be any one of the following integer values:
  • 0 (SORT_TYPE_NONE): The resulting records are not sorted.
    Important: For large security databases, this can cause a performance degradation and erroneous results. The buffer size setting will be the maximum number of records that can be returned (as specified by the limit parameter), and the actual number of records returned is the lesser of the input buffer size and the directory server size limit.
  • 1 (SORT_TYPE_ASCENDING): The resulting records are sorted in ascending order.
  • 2 (SORT_TYPE_DESCENDING): The resulting records are sorted in descending order.
Optional limit Integer The maximum number of records to return. If this value is unspecified, the entire query result is returned.
Optional domainName String The name of a domain to use as the scope of this request. When a domain name is not specified, the search scope is all domains.
Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/groups/MyDomain/groups?searchPattern="engineers"&searchType=1&sortType=1&limit=50

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "properties":
  {  
    "overLimit":{"type":"boolean", "description":"Contains true if the value for the limit parameter is exceeded; false otherwise."},  
    "groups": 
    { 
      "type":"array",
      "items": 
      { 
        "name":{"type":"string"}, 
        "displayName":{"type":"string"} 
      }
    }
}
Response Example
{ "overLimit":false,
  "groups":
  [
    {"name":"engineers", "displayName":"engineers"},
  ]
}
Table 4. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Launch Step Element

/p8/bpm/v1/rosters/{rosterName}/wc/{workclassName}/wob/{wobNum}

Description

The workflow launch step element. This resource is returned in the POE-Links parameter of the Workclass.Get response header when the POE parameter in the request header is 1 (POE:1).

Table 5. Path elements
Name Type Description
rosterName String The name of the roster that is used for the workflow.
workclassName String The name of the workclass (workflow).
wobNum String The GUID identifying the work object (the workflow launch step element).

Application HTTP Methods

POST

Starts the specified workclass (workflow). The client must use the structure that is retrieved via the WorkClass.GET operation.

For the POST operation to be successful, it must be the first POST for the work object (the workflow launch step element).

The initial POST of the payload, if successful, returns 201 Created. Subsequent POST operations will return:
    405 Not Allowed
    Allow: Get

A GET operation on this resource will return the JSON representation of the workflow launch step element as it was created by the POST operation.

Parameters

None.

Table 6. Request header
Required? Name Description
Required POE This value must be set to 1. If this value is not present, a 400 Bad Request error will be returned.

Request Content

MIME Type: application/json

Refer to the response JSON Schema for Step Elements.

If the launch step element has responses, the selectedResponse value must be set; otherwise, a 400 Bad Request will be returned.

Request Example
POST http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/rosters/myRoster/wc/myWorkclass/wob/12345

Response Content

MIME Type: application/json

Refer to the response JSON Schema for Step Elements.

Response Example

Refer to Step Elements Response Example.

Table 7. Error codes
Code Description
201 Created Successful completion - workflow is launched.
400 Bad Request Missing selectedResponse, or there was no request content.
404 Not Found The specified workclass (workflow) was not found.
405 Not Allowed A subsequent POST to this resource was attempted.
500 Internal Server Error Severe problem, programmer's details provided.

GET

Gets the JSON representation of the workflow launch step element as it was created by the POST operation on this resource.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/rosters/myRoster/wc/myWorkclass/wob/12345

Response Content

If the work object (the workflow launch step element) is found and active, a response code of 200 OK is returned with the JSON representation of the workflow launch step element in its current state in the roster.

MIME Type: application/json

Refer to the response JSON Schema for Step Elements.

Response Example

Refer to Step Elements Response Example.

Table 8. Error codes
Code Description
200 OK Successful completion - requested data returned.
410 Gone The workclass (workflow) has been terminated or deleted.
500 Internal Server Error Severe problem, programmer's details provided.

Milestones

/p8/bpm/v1/queues/{queueName}/stepelements/{wobnum}/milestones

Description

Retrieves a list of milestones for a step element.

Table 9. Milestone path elements
Name Type Description
queueName String The name of the queue with which the step element is associated.
wobnum String The GUID identifying the work object (the step element).

Application HTTP Methods

GET

Gets a set of milestones for the step element.

Table 10. Milestone parameters
Required? Name Data Type Description
Optional level Integer An integer value between 1 and 99 (inclusive), indicating the milestone level to use as the limiting level. Only milestones having a level value less than or equal to this value will be retrieved from the event log.
Optional reachedOnly boolean A value of true indicates the retrieval operation is restricted to the reached milestone objects. A value of false indicates the retrieval is not dependent on whether the milestone is reached, and the milestones are returned in the order of execution. In this case, the order of the returned milestones is determined by the order that is specified in Process Designer. Defaults to false if not specified.
Optional lastOnly boolean A value of true indicates that only objects reflecting the last execution of the milestones should be returned. Only a single object will be returned for a milestone, even if the milestone has been executed multiple times. A value of false indicates that multiple objects will be returned for a single milestone, if that milestone has been executed multiple times. Defaults to true if not specified.
Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/stepelements/12345/milestones

Response Content

MIME Type: application/json

JSON Schema:
{ "type": "array",
  "items":
    {
        "type":"object",
        "properties":
        {
            "name":{"type":"string"},
            "level":{"type":"integer"},
            "reached":{"type":"boolean"},
            "message":{"type":"string"},
            "milestoneId":{"type":"integer"},
            "timestamp":{"type":"string", "format":"date-time"},
            "mapName":{"type":"string"},
            "mapId":{"type":"integer"},
            "stepId":{"type":"integer"},
        }
    }
}
Response Example
[
  {
    "name":"Milestone A",
    "level":1,
    "reached":true,
    "message":"Milestone A has been reached",
    "milestoneId":1",
    "timestamp":"2009-04-16'T'14:36:25Z",
    "mapName":"Workflow",
    "mapId":-2,
    "stepId":5
  },
  {
    "name":"Milestone B",
    "level":1,
    "reached":false,
    "message":"",
    "milestoneId":1",
    "timestamp":"",
    "mapName":"Workflow",
    "mapId":-1,
    "stepId":-1
  }
]
Table 11. Milestone error codes
Code Description
200 OK Successful completion - requested data returned.
404 Not Found Work item not found.
500 Internal Server Error Severe problem, programmer's details provided.

Queue Elements

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?{queryParams}

Description

Retrieves a set of queue elements in a workbasket based on the specified query parameters. If the queryParams argument is a large set, use the POST method with Content-Type=application/x-www-form-urlencoded and the request content containing the request parameters URL-encoded with UTF-8. Refer to URL Length Limitation for more information.

If there are many elements, multiple queries might be necessary to retrieve the whole set. See the parameters lastRecord and pageSize for usage.

Table 12. Path elements
Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.
queryParams n/a The set of parameters specifying the criteria for the query. Refer to the GET parameters for this resource.

Application HTTP Methods

GET

Gets the set of queue elements based on the specified query parameters.

Table 13. Queue elements path parameters
Required? Name Data Type Description
Optional filters String A tuple of filter name/value pairs (for example, [State=CA, City=Costa Mesa]). The following characters have special limitations or handling when they are used in filters: equals (=), comma (,) and backslash (\). The equals (=), comma (,) and backslash (\) characters are reserved characters that are used to parse the supplied filters. The comma character is used to separate filters and the equals character is used to separate filter name and value. When using these reserved characters in any manner other than their reserved usage, you must:
  • Escape the reserved character (used in either the filter name or filter value) by preceding the character with a backslash (\=, \, or \\). For example, for a less than or equal to operation (<=) to be correctly parsed in the filter, escape the equals sign: <\=.
  • Append the filter version key: fv=1. Currently, only a filter version key value of 1 is supported. Any other value will generate an exception. If &fv=1 is omitted from the URL for the filter, the reserved characters will be used only to separate and assign values. Parsing the filter is more efficient when filter versioning (&fv=1) is not used.

The underscore (_) and percent (%) characters are associated with database wildcard characters when they are used in conjunction with LIKE and NOT LIKE database syntax. If you define a filter with LIKE or NOT LIKE syntax and pass to it a run-time mapped value that contains these characters, your result set will be defined by the wildcard-character matching. You will not be able to extract records whose fields contains the '_' or '%' characters.

Retrieving queue elements bound to a user:

  • Prerequisite: Define a filter on a workbasket based on the the F_BoundUser column.
  • Specify boundUser with USN syntax, filters=[filterkey={{USN:}}].
  • For example, the following filter retrieves queue elements bounded for user 'pwtest1' in a workbasket: http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters=[filterkey={{USN:pwtest1}}]
Optional lastRecord String Indicates the last record returned in the previous query. This parameter is to be used only for a continuation call (such as, for paging). The value, returned in the response content, is meaningless. Whenever the query filters or orderBy values change, the client should reissue the query without the lastRecord parameter. This parameter should not be specified for the initial query.
Optional pageSize Integer The number of items displayed on a page. The server returns only one page at a time. If the page size is not specified, it defaults to 50.
Optional orderBy String The column to sort by (such as, "AccountNumber"). Only one column can be specified.
Optional queryFlags Integer The flags that are to be used for the query. Refer to the QUERY_* attributes in the VWQueue Javadocs for the possible values. If a value is not specified, the default is 0 (zero). This will result in only unlocked work items being returned.

Set this value to 1 to specify that both locked and unlocked work items should be returned.

You can combine queryFlags values using the format:

queryFlags=value1|+value2|+...

Request Examples

The following example fetches both locked and unlocked work items from workbasket(queryFlags=1). The results will be filtered by the filters values, "State=CA" and "City='Costa Mesa'" and ordered by the orderby value, "State". A maximum of 50 work items at a time will be returned from the server (the pageSize value):
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements?filters=[State=CA,City=Costa Mesa]&pageSize=50&queryFlags=1ℴBy=State
The client will receive the queue elements in the response from the server. The response also includes a lastRecord value. The following GET retrieves the next 50 work items:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements?filters=[State=CA,City=Costa Mesa]&pageSize=50&queryFlags=1ℴBy=State&lastRecord=xxxxx
The previous GET to retrieve the next 50 work items can also be specified to return the work items in descending order. The queryFlags value of 16384 indicates descending sort is enabled:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements?filters=[State=CA,City=Costa Mesa]&pageSize=50&queryFlags=1|+16384ℴBy=State&lastRecord=xxxxx
The following filter example uses reserved characters, which must be escaped by a backslash (\) character. The filter version key (fv=1) must be appended to the filter. There are two filters in this example. The first filter uses the key salary >=10000 and has a value of 10000. The second filter uses the key directory=\etc\ and has a value of \etc\:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters="[salary>\=10000=10000,directory\=\\etc\\=\\etc\\]"&fv=1
The following filter retrieves queue elements bound for user pwtest1 in a workbasket. As a prerequisite, the user must have previously defined a filter on a workbasket based on the F_BoundUser column:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters=[filterkey={{USN:pwtest1}}]
The following filter retrieves queue elements for F_WobNum. As a prerequisite, the user must have defined a filter on a workbasket based on the F_WobNum column:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters=filters=[wobnum=D78E4D6FB2146748AE7DB9E653E79FE0]
The following filter retrieves queue elements for F_CaseFolder. As a prerequisite, the user must have defined a filter on a workbasket based on the F_CaseFolder column:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters= filters=[caseFolder={A9EF7CCC-11F5-4234-9020-6A035DF96443}]

Response Content

MIME Type: application/json

Note: If there are no queue elements fetched from the server then an empty JSON object ({ }) is returned.

JSON Schema:
{ "type":"object",
  "properties":
  {
    "lastRecord":{"type":"string"},
    "stepProcessors":
    {
      "type":"object",
      "description":"Contains a dynamic set of properties. The property names are the step processor identifiers.",
      "additionalProperties":
      {
        "type":"object",
        "properties":,
        {
          "name":{"type":"string"},
          "id":{"type":"integer"},
          "appType":{"type":"string"},
          "processorType":{"type":"string"},
          "width":{"type":"integer"},
          "height":{"type":"integer"},
          "applicationName":{"type":"string"},
          "locations":
          {
            "type":"object",
            "description":"Contains a dynamic set of properties. The property names are the Web application identifiers. The value of each property is the step processor location for that Web application.",
            "additionalProperties":{"type":"string"}
          }
        }
      }
    }
    "queueElements":
    {
      "type":"array",
      "items":
      {
        "type":"object",
        "properties":
        {
          "stepElement":{"type":"string" ,"format":"uri"},
          "milestones":{"type":"string","format":"uri"},
          "Etag":{"type":"string"},
          "workObjectNumber":{"type":"string"},
          "stepName":{"type":"string"},
          "queueName":{"type":"string"},
          "lockedBy":{"type":"string", "description":"Contains the name of the user who has the work item locked."},
          "lockedById":{"type":"integer", "description":"Contains the id of the user who has the work item locked. This will be -1 if the work item is not locked."},
          "stepDeadlineStatus":{"type":"string", "description":"Contains an integer value indicating the deadline status for the current step, where 0: DEADLINE_NOT_REACHED, 1: DEADLINE_REMINDER_NOTIFICATION, 2: DEADLINE_REACHED, and 3: COMPLETED"},
          "stepProcessorId":{"type":"string", "description":"Use this property to look up the step processor information in the stepProcessors property."},
          "canReassign":{"type":"boolean"},
          "boundUserName":{"type":"string","description":"Contains the name of the user who has the work item."},
          "caseFolderId": {"type":"string", "description":"Contains the case folder. This property is returned only if the field is exposed in the queue."},
          "caseTaskId": {"type":"string", "description":"Contains the case task id. This property is returned only if the field is exposed in the queue."},
          "columns":
          {
            "type":"object",
            "description":"Contains a dynamic set of properties. The property names are the column names, and the value of each property is the value of that column for the queue element.",
            "additionalProperties":
            {
              "type":"object",
              "properties":
              {
                "name":{"type":"string"},
                "value":{"type":["string","number","boolean","array"]}
              }
            }
          }
        }
      }
    }
  }
}
Response Example
{
  "lastRecord":"xxxxxxxxxxxxxx",
  "stepProcessors":
  {
    "1":
    {
      "name":"",
      "id":1,
      "appType":"HTML",
      "processorType":"step",
      "width":500,
      "height":500,
      "applicationName":"",
      "locations":
      { 
        "1":"html/ootb/WcmStepProcessor.jsp",
        "7":"html/ootb/WcmStepProcessor.jsp"
        ...
      }
    },
    ...
  }
  "queueElements":
  [
    {
      "stepElement":"queues/{queue}/stepelements/{wobnum}",
      "milestones":"/context/P8BPMREST/p8/bpm/v1/queues/{queue}/stepelements/{wobnum}/milestones",
      "ETag":"xxxx",
      "workObjectNumber","xxx",
      "stepName","Review Step",
      "queueName","ClaimProcessing",
      "lockedBy":"elijah",
      "lockedById":"23",
      "stepDeadlineStatus": 0,
      "stepProcessorId":1,
      "canReassign": true
      "boundUserName":"joe",
      "caseTaskId": "{00000000-0000-0000-0000-000000000000}", 
      "caseFolderId": "{00000000-0000-0000-0000-000000000000}",  
      "columns":
      {
        "CustomerName":"John Smith",
        "CustomerAge":35
      }
    }
    ...
  ]
}
Table 14. Queue elements error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Queue Elements Count

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/count

Description

The number of queue elements in a workbasket. The count is based on a predefined query for the workbasket, unless the filters parameter is used.

Table 15. Path elements
Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.
queryParams n/a The set of parameters specifying the criteria for the query. Refer to the GET parameters for this resource.

Application HTTP Methods

GET

Table 16. Parameters
Required? Name Data Type Description
Optional filters String

A tuple of filter name/value pairs (for example, [State=CA, City=Costa Mesa]). The following characters have special limitations or handling when they are used in filters: equals (=), comma (,) and backslash (\). The equals (=), comma (,) and backslash (\) characters are reserved characters that are used to parse the supplied filters. The comma character is used to separate filters and the equals character is used to separate filter name and value. When using these reserved characters in any manner other than their reserved usage, you must:

  • Escape the reserved character (used in either the filter name or filter value) by preceding the character with a backslash (\=, \, or \\). For example, for a less than or equal to operation (<=) to be correctly parsed in the filter, escape the equals sign: <\=.
  • Append the fiter version key: fv=1. Currently, only a filter version key value of 1 is supported. Any other value will generate an exception. If &fv=1 is omitted from the URL for the filter, the reserved characters will be used only to separate and assign values. Parsing the filter is more efficient when filter versioning (&fv=1) is not used.

The underscore (_) and percent (%) characters are associated with database wildcard characters when they are used in conjunction with LIKE and NOT LIKE database syntax. If you define a filter with LIKE or NOT LIKE syntax and pass to it a run-time mapped value that contains these characters, your result set will be defined by the wildcard-character matching. You will not be able to extract records whose fields contains the '_' or '%' characters.

Retrieving queue elements bound to a user:

  • Define a filter on a workbasket based on the the F_BoundUser column.
  • Specify boundUser with USN syntax, filters=[filterkey={{USN:}}].
  • For example, the following filter retrieves queue elements bounded for user 'pwtest1' in a workbasket: http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters=[filterkey={{USN:pwtest1}}]
Request Examples
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/count?filters=[State=CA,City=Costa Mesa]
The following filter uses reserved characters, which must be escaped by a backslash (\) character. The filter version key (fv=1) must be appended to the filter. There are two filters in this example. The first filter uses the key salary >=10000 and has a value of 10000. The second filter uses the key directory=\etc\ and has a value of \etc\:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/count?filters="[salary>\=10000=10000,directory\=\\etc\\=\\etc\\]"&fv=1
The following filter retrieves queue elements bound for user pwtest1 in a workbasket. As a prerequisite, the user must have previously defined a filter on a workbasket based on the F_BoundUser column:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters=[filterkey={{USN:pwtest1}}]
The following filter retrieves queue elements for F_WobNum. As a prerequisite, the user must have defined a filter on a workbasket based on the F_WobNum column:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters=filters=[wobnum=D78E4D6FB2146748AE7DB9E653E79FE0]
The following filter retrieves queue elements for F_CaseFolder. As a prerequisite, the user must have defined a filter on a workbasket based on the F_CaseFolder column:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/queueelements/?filters= filters=[caseFolder={A9EF7CCC-11F5-4234-9020-6A035DF96443}]

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "properties":
  {
    "count":{"type":"integer"}
  }
}
Response Example
{"count":95}
Table 17. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

MyRoles

/p8/bpm/v1/appspaces/{appspace}/myroles

Description

A collection of roles within an application space. Only those roles of which the current user is a member are returned.

Table 18. Path elements
Name Type Description
appspace String The name of the application space.

Application HTTP Methods

GET

Gets the roles in the specified application space of which the current user is a member.

Parameters

None

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/appspaces/Autoclaim/myroles

Response Content

MIME Type: application/json

JSON Schema:

{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the authored role names.",
  "additionalProperties": 
  {
    "type":"object",
    "properties":
    {  
      "name":{"type":"string","description":"Translated role name."},
      "description": {"type":"string","description":"description of this role."},
      "URI":{"type":"string","format":"uri"}
    }
  }
}
Response Example
{ 
  "Agent":{"name":"Agent","description": "agent role", "URI":"appspaces/Autoclaim/roles/Agent"},
  "Manager":{"name":"Manager","description": "manager role", "URI":"appspaces/Autoclaim/roles/Manager"
}
Table 19. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Role

/p8/bpm/v1/appspaces/{appspace}/roles/{role}

Description

A specific role. The current user must be a member of the role or have write permissions to the role.

Table 20. Path elements
Name Type Description
appspace String The name of the application space.
role String The name of the role.

Application HTTP Methods

GET

Table 21. Parameters
Required? Name Data Type Description
Optional includeCustomAttributes Boolean Indicates whether to include the workbasket and role custom attribute information in the response. Specify a value of true to include the attribute information. Defaults to false.
Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/appspaces/Autoclaim/roles/Reviewer?includeCustomAttributes=true

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "properties": 
  {  
    "name":{"type":"string"},
    "authoredName":{"type":"string"},
    "description":{"type":"string"},
    "homePage":{"type":"string"}, 
    "attributes":{"type":"string" ,"format":"uri"},
    "customAttributes": 
        { "type":"object",
        "additionalProperties": 
                {  
        "type":"object",
        "description":"Contains a dynamic set of properties. The property names are the attribute names.",
        "properties":
                {
                "name":{"type":"string"},
                "type":{"type":"integer",, "description":"VWFieldType"},
                "isArray":{"type":"boolean"},
                "value":{"type":["string","number", "boolean", "array"]}
                }
                }
         }
"workbaskets": 
    {
      "type":"object",
      "description":"Contains a dynamic set of properties. The property names are the authored workbasket names.",
      "additionalProperties":
      {
        "type":"object",
        "properties":
        {
          "name":{"type":"string"},
          "description":{"Translated workbasket name."},
          "URI":{"type":"string","format":"uri"}
          "customAttributes": 
          {
            "type":"object",
            "description":"Included in the response only if the value of the includeCustomAttributes parameter is true.",
            "additionalProperties":
            {  
              "type":"object",
              "properties":
              {
                "name":{"type":"string"},
                "type":{"type":"integer"},
                "isArray":{"type":"boolean"},
                "value":{"type":["string", "number", "boolean", "array"]}
              }
            }
          }
        }
      }		 
    }
    "orderedWorkbaskets": 
    {
      "type":"array",
      "description":"Contains a dynamic set of properties. The property names are the authored workbasket names, in the order specified when",
      "items":
      {
        "name":{"type":"string"},
        "URI":{"type":"string","format":"uri"}
        "customAttributes": 
        {
          "type":"object",
          "description":"Included in the response only if the value of the includeCustomAttributes parameter is true.",
          "additionalProperties":
          {  
            "type":"object",
            "properties":
            {
              "name":{"type":"string"},
              "type":{"type":"integer"},
              "isArray":{"type":"boolean"},
              "value":{"type":["string", "number", "boolean", "array"]}
            }
          }
        }
      }		 
    }
  }
}

Response Example

{
  "name":"ReviewerTranslated",
  "authoredName":"Reviewer",
  "description":"Role description",
  "homePage":"AutoClaimReview.html",
  "attributes":"appspaces/AutoClaim/roles/Reviewer/attributes",
  "customAttributes":
    {
       "Color": { "name":"Color",    "type":2,    "isArray":false,   "value":"Red"  },
       "Colors":{ "name":"Colors",   "type":2,    "isArray":true,    "value":["Red","Blue","Green"]  }
    }
  "workbaskets":
  {
    "Initial":{"name":"Initial","URI":"appspaces/AutoClaim/roles/Reviewer/workbaskets/Initial","customAttributes":{}},
    "Appeal":{"name":"Appeal","URI":"appspaces/AutoClaim/roles/Reviewer/workbaskets/Appeal,"customAttributes":{}"}
  }
  "orderedWorkbaskets":
  [
    {name":"Initial","URI":"appspaces/AutoClaim/roles/Reviewer/workbaskets/Initial,"customAttributes":{}"},
    {name":"Appeal","URI":"appspaces/AutoClaim/roles/Reviewer/workbaskets/Appeal,"customAttributes":{}"}
  ]
}
Table 22. Error codes
Code Description
200 OK Successful completion - requested data returned.
400 Not Found Role does not exist.
500 Internal Server Error Severe problem, programmer's details provided.

Role Attributes

/p8/bpm/v1/appspaces/{appspace}/myroles/{role}/attributes

Description

Identifies the attributes assigned to a role.

Table 23. Path elements
Name Type Description
appspace String The name of the application space.
role String The name of the role.

Application HTTP Methods

GET

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/appspaces/Autoclaim/roles/Reviewer/attributes

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "additionalProperties": 
  {  
    "type":"object",
    "description":"Contains a dynamic set of properties. The property names are the attribute names.",
    "properties":
    {
      "name":{"type":"string"},
      "type":{"type":"integer",, "description":"VWFieldType"},
      "isArray":{"type":"boolean"},
      "value":{"type":["string","number", "boolean", "array"]}
    }
  }
}
Response Example
{
  "Color":
  {
    "name":"Color",
    "type":2,
    "isArray":false,
    "value":"Red"
  }
  "Colors":
  {
    "name":"Colors",
    "type":2,
    "isArray":true,
    "value":["Red","Blue","Green"]
  }
}
Table 24. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Role Names

/p8/bpm/v1/appspacenames/{appspace}/rolenames

Description

The collection of all roles for the specified application space. The names of all roles in the application space are returned, regardless of whether or not the current user has access permissions to the roles.

Table 25. Path elements
Name Type Description
appspace String The name of the application space.

Application HTTP Methods

GET

Gets the entire set of roles defined for the application space. The role names are returned in the order specified for the isolated region configuration when the roles were defined.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/appspacenames/Autoclaim/rolenames

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"The property names are the role names.",
  "additionalProperties": 
  {
    "type":"object",
    "properties":
    {  
      "name":
      {
        "type":"string",
        "description":"Role name."
      }
    }
  }             
}
Response Example
{ 
  "manager":{"name":" manager"},
  "reviewer":{"name":"reviewer"}
}
Table 26. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Security Domains

/p8/bpm/v1/securitydomains

Description

The names of all the security domains (LDAP realms) found. This is useful in narrowing the scope of users and groups for subsequent operations, such as querying user information for role membership changes.

Path Elements

None.

Application HTTP Methods

GET

Gets the collection of domain names.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/securitydomains

Response Content

MIME Type: application/json

JSON Schema:
{ "type": "array",
  "item":
  {
    "name": {"type":"string"},
    "dn" : {"type":"string"} 
  }     
}
Response Example
[
  {
    "name":"devdomain.eng.filenet.com",
    "dn":"dc=devdomain,dc=eng,dc=filenet,dc=com"
  },
  {
    "name":"devdomain.eng.filenet.com",
    "dn":"dc=testdomain,dc=eng,dc=filenet,dc=com"
  }
]
Table 27. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Step Element

/p8/bpm/v1/queues/{queueName}/stepelements/{wobNum}

Description

A step element retrieved from a queue.

Table 28. Path elements
Name Type Description
queueName String The name of the queue with which the step element is associated.
wobNum String The GUID identifying the work object (the step element).

Application HTTP Methods

GET

Gets the JSON representation of the step element.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myqueue/stepelements/12345
Table 29. Response header
Name Description
ETag Identifies the version of the step element. Return this value as the HTTP request header If-Match value when performing a PUT on this resource.

Response Content

MIME Type: application/json

Refer to the response JSON Schema for the Step Element.

Response Example

Refer to Step Element Response Example.

Table 30. Error codes
Code Description
200 OK Successful completion - requested data returned.
404 Not Found Work item not found.
500 Internal Server Error Severe problem, programmer's details provided.

PUT

Updates a step element.

Table 31. Parameters
Required? Name Data Type Description
Required action String One of the following values:
lock
Locks the work item.
overrideLock
Locks the work item. If the work item is already locked, the current lock will be overridden.
save
Updates the work item and leaves it locked. In the request content, send the updated version of the representation returned in the GET response.
saveAndUnlock
Updates the work item and unlocks it. In the request content, send the updated version of the representation returned in the GET response.
abort
Unlocks the work item without making any updates.
dispatch
Updates the work item, unlocks it, and advances the work item in the workflow. In the request content, send the updated version of the representation returned in the GET response.
returnToSource
Returns the work item to the queue from which a user originally reassigned or delegated the work item.
reassign
Changes the participant responsible for processing this step. This action can have the following parameters, all except participant are optional:
?action=reassign&domain={domainName}&participant={userName}&delegateFlag=false&queueName=
domain
If specified, the action reassigns the work item to the current or specified user found in the specified LDAP domain.
participant
(Required) The action reassigns the work item to the indicated user.
delegateFlag
Defaults to false. If true, the reassignment action is flagged for later review.
queueName
If specified, this is a string containing any of the following: the queue name to which the work item is to be moved; null (indicating the current or specified user's queue); the literal "Inbox" (moves the work item to the current or specified user's inbox). The default value is null.
moveToInbox
Moves the work item to the inbox of the current user.
Optional responseContent integer This parameter is valid only when the action parameter is "lock" or "overrideLock". It provides a mechanism to allow a client to lock a work item and fetch its representation in a single call.

A value of 1 indicates that the current representation of the step element is to be returned in the response content. The step element representation is not included in the response content (the default) when this parameter is not specified, or when its value is other than "lock" or "overrideLock".

Table 32. Request header
Required? Name Description
Required If-Match Identifies the version of the step element. This must be the ETag value returned in the GET response header.

Request Content

For save, saveAndUnlock, and dispatch actions, send an updated version of the representation returned in the GET response. No request content is needed for the other actions.

If responses are required for the step, the step element responses property will contain an array of possible responses. Set the selectedResponse property before dispatching the work item.

Set the modified property to true for any dataField, attachment, or workflow group values that have been modified. If the modified property is not set, the updated value will not be saved on the server.

MIME Type: application/json

Refer to the response JSON Schema for Step Elements.

Request Example
PUT http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myqueue/stepelements/12345?action=overrideLock?responseContent=1
Table 33. Response header
Required? Name Description
Required ETag The new identifying version of the work item. Return this value as the If-Match request header value when updating the step element.

Response Content

No content is returned, unless the the action is "lock" or "overrideLock" and the responseContent parameter is set to 1. In this case, the current representation of the step element will be returned.

MIME Type: application/json

Refer to the response JSON Schema for Step Elements.

Response Example

Refer to Step Element Response Example.

Table 34. Error codes
Code Description
201 Created Successful completion - workflow is launched.
404 Not Found Work item not found.
409 Conflict The If-Match request header value does not match the current ETag response header value for the step element. This indicates the step element was modified since the last time its representation was retrieved.
500 Internal Server Error Severe problem, programmer's details provided.

Users

/p8/bpm/v1/users

Description

A collection of users. You can limit the search scope by using the domain GET parameter to specify the domain. When a domain name is not specified, the search scope includes all domains.

Path Elements

None.

Application HTTP Methods

GET

Gets the user information based on the specified search parameters. The searchPattern parameter, if non-null, specifies the display name (not the short name) to retrieve.

Table 35. Parameters
Required? Name Data Type Description
Required searchPattern String The comparison string that determines whether a user display name is a match. The comparison is performed according to the method specified by the searchType parameter. This value can be null when the searchType parameter is 0 (SEARCH_TYPE_NONE).
Required searchType Integer Determines how the specified searchPattern is to be used. This can be any one of the following integer values:
0 (SEARCH_TYPE_NONE)
The searchPattern string is ignored (if specified), and all user names for the indicated scope are returned. This can cause a performance degradation for large databases.
1 (SEARCH_TYPE_CUSTOM)
The searchPattern string is an exact match.
2 (SEARCH_TYPE_PREFIX_MATCH)
The searchPattern string has an exact match at the beginning of the user name.
3 (SEARCH_TYPE_SUFFIX_MATCH)
The searchPattern string has an exact match at the end of the user name.
4 (SEARCH_TYPE_CONTAINS)
The searchPattern string has an exact match anywhere within the user name.
optional sortType Integer Indicates the type of sorting the security database server performs on the returned set of records. If sorting fails on the security database server, an error is thrown and no results are returned. The sortType value can be any one of the following integer values:
0 (SORT_TYPE_NONE)
The resulting records are not sorted.

Caution: For large security databases, this can cause a performance degradation and erroneous results. The buffer size setting will be the maximum number of records that can be returned (as specified by the limit parameter), and the actual number of records returned will be the lesser of the input buffer size and the directory server size limit.

1 (SORT_TYPE_ASCENDING)
The resulting records are sorted in ascending order.
2 (SORT_TYPE_DESCENDING)
The resulting records are sorted in descending order.
Optional limit Integer The maximum number of records to return. If this value is 0 (zero) or less, the default buffer size of 200 is used.
Optional domain String The name of a domain (preferably in dn format) to use as the scope of this request. When a domain name is not specified, the search scope specifies all domains.
Optional searchAttribute Integer Indicates which LDAP attribute is used for the search pattern:
0 (DISPLAY_NAME)
Specifies that the display name is used for the search pattern. This is the default setting if searchAttribute is not specified.
1 (SHORT_NAME)
Specifies that the short name is used for the search pattern.

Request Example

Retrieve users with a display name starting with the letter j (searchType=2). Results are sorted in ascending order (sortType=1) in a batch of 50 users:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/users?searchPattern=j&searchType=2&sortType=1&maxBufferSize=50
Retrieve users with a short name (searchAttribute=1) starting with the letter j (searchType=2). Results are sorted in ascending order (sortType=1) in a batch of 50 users:
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/users?searchPattern=j&searchAttribute=1&searchType=2&sortType=1&maxBufferSize=50

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the application space names.",
  "additionalProperties": 
  {
    "type":"object",
    "properties":
    {  
      "name":{"type":"string"},
      "rolenames": {"type":"string","format":"uri"} 
    }
  }		 		 
}
{ "type":"object",
  "properties": 
 {  
   "overLimit":{"type":"boolean"", "description":"Contains true if the value for the limit parameter is exceeded; false otherwise.},  
   "users": 
   { 
     "type":"array",
     "items": 
     { 
       "name":{"type":"string"}, 
       "displayName":{"type":"string"}, 
       "email":{"type:""string"} 
      }
    }
  }
}

Response Example

{ "overLimit":false,
  "users":
  [
    {"name":"jemima", "displayName":"jemima", "email":"jemima@ibm.com"},
    {"name":"jeffrey", "displayName":"jeffrey", "email":null}
  ]
}
Table 36. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workbasket

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}

Description

The name of an available workbasket for the specified queue and information about the workbasket.

Path Elements

Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.

Application HTTP Methods

GET

Gets the workbasket. The returned workbasket includes columns defining the workbasket and information for queue query and filtering.

Table 37. Parameters
Required? Name Data Type Description
Optional includeCustomAttributes Boolean Indicates whether to include the custom attribute information in the response. Specify a value of true to include the attribute information. Defaults to false.
Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/workbaskets/myWorkbasket?includeCustomAttributes=true

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "properties":
  {  
    "name":{"type":"string"},  
    "authoredName":{"type":"string"},
    "description":{"type":"string"}, 
    "columns": 
    {
      "type":"object",
      "description":"Contains a dynamic set of properties. The property names are the authored column names.",
      "additionalProperties":
      {		   
        "type":"object",
        "properties":
        {
          "name":{"type":"string","description":"Translated column name."}
          "type":{"type":"integer","description":"VWFieldType"},
          "prompt":{"type":"string"},
          "sortable":{"type":"boolean"},
          "ordinal":{"type":"integer"},
          "attributes":{"type":"string","format":"uri"},
          "customAttributes": 
          {
            "type":"object",
            "description":"Included in the response only if the value of the includeCustomAttributes parameter is true.",
            "additionalProperties":
            {  
              "type":"object",
              "properties":
              {
                "name":{"type":"string"},
                "type":{"type":"integer"},
                "isArray":{"type":"boolean"},
                "value":{"type":["string", "number", "boolean", "array"]}
              }
            }
          }
        }
      }		 		 
    }
    "filters" : 
    {
      "type":"object",
      "additionalProperties":
      {
        "type":"object",
        "properties":
{
          "name":{"type":"string"},
          "prompt":{"type":"string"},
          "description":{"type":"string"},
          "type":{"type":"integer"},
          "operator":{"type":"integer"},
          "attributes":{"type":"string" ,"format":"uri"}
          "searchFieldName":{"type":"string" ,"description":"authored column name that filter is based on"},
          "customAttributes": 
          {
            "type":"object",
            "description":"Included in the response only if the value of the includeCustomAttributes parameter is true.",
            "additionalProperties":
            {  
              "type":"object",
              "properties":
              {
                "name":{"type":"string"},
                "type":{"type":"integer"},
                "isArray":{"type":"boolean"},
                "value":{"type":["string", "number", "boolean", "array"]}
              }
            }
          }
        }
      }
    }
    "queueType":{"type":"integer","description":"Possible values are: 1 - Indicates the queue is a process queue, 2 - Indicates the queue is a user queue (such as inbox), or 3 - Indicates the queue is a system queue."},
    "attributes":{"type":"string","format":"uri"},
    "customAttributes": 
    {
      "type":"object",
      "description":"Included in the response only if the value of the includeCustomAttributes parameter is true.",
      "additionalProperties":
      {  
        "type":"object",
        "properties":
        {
          "name":{"type":"string"},
          "type":{"type":"integer"},
          "isArray":{"type":"boolean"},
          "value":{"type":["string", "number", "boolean", "array"]}
        }
      }
    }
    "queueElements":{"type":"string","format":"uri"},
    "queueElementsCount":{"type":"string", "format":"uri"}
  }		 
}
Response Example
{
  "name":"myWorkbasketTranslated", 
  "authoredName":"myWorkbasket",
  "description":"Workbasket description",
  "columns": 
  {
    "integerCol":
    {
      "name":"integerCol", 
      "prompt":"Integer Column", 
      "type":1,
      "sortable":true,
      "ordinal":0,
      "attributes":"queues/myQueue/workbaskets/Initial/columns/integerCol/attributes",
      "customAttributes" :
      {
        "Color":
        {
          "name":"Color",
          "type":2,
          "isArray":false,
          "value":"Red"
        },
        "Colors":
        {
          "name":"Colors",
          "type":2,
          "isArray":true,
          "value":["Red","Blue","Green"]
        }
      }             
    }
  },
  "filters":
  {
    "integerCol":
{
      "name":"integerFilter", 
      "prompt":"Integer Filter", 
      "description":"Filter description",
      "type":1,
      "operator":0,
      "attributes":"queues/myQueue/workbaskets/Initial/filters/integerFilter/attributes"
      "searchFieldName": "integerSearchFieldCol",
      "customAttributes" :
      {
        "Color":
        {
          "name":"Color",
          "type":2,
          "isArray":false,
          "value":"Red"
        },
        "Colors":
        {
          "name":"Colors",
          "type":2,
          "isArray":true,
          "value":["Red","Blue","Green"]
        }
      }             
    }
  },
  "queueType":2,
  "attributes":"queues/myQueue/workbaskets/myWorkbasket/attributes",
  "customAttributes":
  {
    "Color":
    {
      "name":"Color",
      "type":2,
      "isArray":false,
      "value":"Red"
    },
    "Colors":
    {
      "name":"Colors",
      "type":2,
      "isArray":true,
      "value":["Red","Blue","Green"]
    }
  }             
  "queueElements":"queues/myQueue/workbaskets/myWorkbasket/queueelements",
  "queueElementsCount":"queues/myQueue/workbaskets/myWorkbasket/queueelements/count"
}
Table 38. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workbasket Attributes

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/attributes

Description

The attributes of an available work basket for the specified queue.

Table 39. Path elements
Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.

Application HTTP Methods

GET

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/workbaskets/myWorkbasket/attributes

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the attribute names.",
  "additionalProperties": 
  {  
    "type":"object",
    "properties":
    {
      "name":{"type":"string"},
      "type":{"type":"integer"},
      "isArray":{"type":"boolean"},
      "value":{"type":["string", "number", "boolean", "array"]}
    }
  }
}
Response Example
{
  "Color":
  {
    "name":"Color",
    "type":2,
    "isArray":false,
    "value":"Red"
  }
  "Colors":
  {
    "name":"Colors",
    "type":2,
    "isArray":true,
    "value":["Red","Blue","Green"]
  }
}
Table 40. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workbasket Columns

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/columns

Description

The column definitions for the workbasket. Call this resource when a widget only needs the columns and not the entire workbasket definition (as returned by Workbasket.GET).

Table 41. Path elements
Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.

Application HTTP Methods

GET

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/workbaskets/myWorkbasket/columns

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the authored column names.",
  "additionalProperties": 
  {
    "type":"object",
    "properties":
    {  
      "name":{"type":"string","description":"Translated column name."}
      "type":{"type":"integer","description":"VWFieldType"},
      "prompt":{"type":"string"},
      "sortable":{"type":"boolean"},
      "ordinal":{"type":"integer"},
      "attributes":{"type":"string" ,"format":"uri"}
    }   
  }             
}
Response Example
{
  "integerCol":
  {
    "name":"integerCol", 
    "prompt":"Integer Column", 
    "type":1, 
    "sortable":true,    
    "attributes":"queues/myQueue/workbaskets/myworkbasket/columns/integerCol/attributes"
  },
  "stringCol":
  {
    "name":"stringCol", 
    "prompt":"String Column", 
    "type":2, 
    "sortable":false, 
    "attributes":"queues/myQueue/workbaskets/myworkbasket/columns/stringCol/attributes"
  }
}
Table 42. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workbasket Column Attributes

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/columns/{columnName}/attributes

Description

The attributes of a column defined for the workbasket.

Table 43. Path elements
Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.
columnName String The name of the column.

Application HTTP Methods

GET

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/workbaskets/myWorkbasket/columns/ColName/attributes

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the attribute names.",
  "additionalProperties": 
  {
    "type":"object",
    "properties":
    {  
      "name":{"type":"string","description":"Translated column name."}
      "type":{"type":"integer","description":"VWFieldType"},
      "isArray":{"type":"boolean"},
      "value":{"type":["string", "number", "boolean", "array"]}
    }   
  }             
}
Response Example
{
  "Color":
  {
    "name":"Color",
    "type":2,
    "isArray":false,
    "value":"Red"
  }
  "Colors":
  {
    "name":"Colors",
    "type":2,
    "isArray":true,
    "value":["Red","Blue","Green"]
  }
}
Table 44. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workbasket Filters

    /p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/filters

Description

The filter definitions for the work basket. Call this resource when a widget only needs the filters and not the entire workbasket definition (as returned by Workbasket.GET).

Path Elements

Name Type Description
queue String The name of the queue with which the workbasket it associated.
workbasket String The name of the workbasket.

Application HTTP Methods

GET

None

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/workbaskets/myWorkbasket/filters

Response Content

MIME Type: application/json

JSON Schema:

{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the authored filter names.",
  "additionalProperties":
  {       
    "type":"object",
    "properties":
    {
      "name":{"type":"string","description":"Translated filter name."}
      "type":{"type":"integer","description":"VWFieldType"},
      "prompt":{"type":"string"},
      "description":{"type":"string"},
      "operator":{"type":"integer"},
      "searchFieldName":{"type":"string" ,"description":"authored column name that filter is based on"},
      "attributes":{"type":"string","format":"uri"}
    }
  }             
}

Response Example

{
  "integerCol":
  {
    "name":"integerCol", 
    "type":1,
    "operator":0,
    "prompt":"Integer Column",
    "description":"Filter description",
    "searchFieldName": "integerField",
    "attributes":"queues/myQueue/workbaskets/MyWorkbasket/filters/CompanyName/attributes"
  }
}

Error Codes

Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workbasket Filter Attributes

/p8/bpm/v1/queues/{queue}/workbaskets/{workbasket}/filters/{filter}/attributes

Description

The attributes of a filter defined for the work basket.

Table 45. Path elements
Name Type Description
queue String The name of the queue with which the workbasket is associated.
workbasket String The name of the workbasket.
filter String The name of the filter.

Application HTTP Methods

GET

None

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/queues/myQueue/workbaskets/myWorkbasket/filters/CompanyName/attributes

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the attribute names.",
  "additionalProperties": 
  {  
    "type":"object",
    "properties":
    {
      "name":{"type":"string"},
      "type":{"type":"integer"},
      "isArray":{"type":"boolean"},
      "value":{"type":["string", "number", "boolean", "array"]}
    }
  }
}
Response Example
{
  "Color":
  {
    "name":"Color",
    "type":2,
    "isArray":false,
    "value":"Red"
  }
  "Colors":
  {
    "name":"Colors",
    "type":2,
    "isArray":true,
    "value":["Red","Blue","Green"]
  }
}
Table 46. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workclass

/p8/bpm/v1/workclasses/{workclassName}

Description

The workclass (workflow) representation. This is the collection of workflow properties, parameters, attachments, and workflow groups.

Table 47. Path elements
Name Type Description
workclassName String The name of an available workclass (workflow).

Application HTTP Methods

GET

Gets the fields for the work class launch step. When called with the POE parameter set to 1 (POE:1) in the request header, the value of the POE-Links parameter in the response header will be the workclass launch step resource that can be used to launch the workflow. If the POE parameter is set to any value other than 1, this parameter is ignored.

Parameters

None

Table 48. Request header
Required? Name Description
Optional POE Set this parameter to a value of 1 (POE:1) to retrieve the launch step element information. The launch step element resource is returned in the POE-Links parameter in the response header.
Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/workclasses/myWorkclass
Table 49. Response header
Name Value Description
POE-Links (The launch step resource. See Launch Step Element. The identifying work object number for the workclass launch step. This information is returned in the response header if the optional POE parameter is set to a value of one (POE:1).

Response Content

MIME Type: application/json

Refer to the response JSON Schema for Step Elements.

Response Example

Refer to Step Elements Response Example.

Table 50. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workclasses

/p8/bpm/v1/workclasses

Description

The collection of work classes (workflows) available.

Path Elements

None

Application HTTP Methods

GET

Gets the collection of work classes that can be launched.

Parameters

None

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/workclasses

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the workclass names.",
  "additionalProperties":
  {
    "type":"object",
    "properties":
    {
      "URI":{"type":"string" ,"format":"uri"},
      "name":{"type":"string"}
    }
  }
}
Response Example
{
  "QFieldTestWithResponseAndDeadlines":
  {
    "URI":"workclasses/QFieldTestWithResponseAndDeadlines",
    "name":"QFieldTestWithResponseAndDeadlines" },
  "QFieldTest":
  {
    "URI":"workclasses/QFieldTest","name":"QFieldTest"  }
  }
}
Table 51. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Workflow Milestones

/p8/bpm/v1/rosters/{rosterName}/workflowNumber/{workflowID}/milestones

Description

The milestones for a workflow.

Table 52. Path elements
Name Type Description
rosterName String The name of the roster with which the workflow element is associated.
workflowID String The GUID identifying the workflow object

Application HTTP Methods

GET

Gets a set of milestones for the workflow element.

Table 53. Parameters
Required? Name Data Type Description
Optional level Integer An integer value between 1 and 99 (inclusive), indicating the milestone level to use as the limiting level. Only milestones having a level value less than or equal to this value will be retrieved from the event log.
Optional reachedOnly Boolean A value of true indicates the retrieval operation is restricted to the reached milestone objects. A value of false indicates the retrieval is not dependent on whether the milestone is reached, and the milestones are returned in the order of execution. In this case, the order of the returned milestones is determined by the order specified in IBM FileNet Process Designer. Defaults to false if not specified.
Optional lastOnly Boolean A value of true indicates that only objects reflecting the last execution of the milestones should be returned. Only a single object will be returned for a milestone, even if the milestone has been executed multiple times. A value of false indicates that multiple objects will be returned for a single milestone, if that milestone has been executed multiple times. Defaults to true if not specified.
Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/rosters /myRoster/workflowNumber/12345/milestones

Response Content

MIME Type: application/json

JSON Schema:
{ "type": "array",
  "items":
    {
        "type":"object",
        "properties":
        {
            "name":{"type":"string"},
            "level":{"type":"integer"},
            "reached":{"type":"boolean"},
            "message":{"type":"string"},
            "milestoneId":{"type":"integer"},
            "timestamp":{"type":"string", "format":"date-time"},
            "mapName":{"type":"string"},
            "mapId":{"type":"integer"},
            "stepId":{"type":"integer"},
        }
    }
}
Response Example:
[
  {
    "name":"Milestone A",
    "level":1,
    "reached":true,
    "message":"Milestone A has been reached",
    "milestoneId":1",
    "timestamp":"2009-04-16'T'14:36:25Z",
    "mapName":"Workflow",
    "mapId":-2,
    "stepId":5
  },
  {
    "name":"Milestone B",
    "level":1,
    "reached":false,
    "message":"",
    "milestoneId":1",
    "timestamp":"",
    "mapName":"Workflow",
    "mapId":-1,
    "stepId":-1
  }
]
Table 54. Error codes
Code Description
200 OK Successful completion- requested data returned.
404 Not Found Work item not found.
500 Internal Server Error Severe problem, programmer's details provided.

Writeable Application Spaces

/p8/bpm/v1/writableappspaces

Description

The collection of application spaces to which the current user has Write permission.

Path Elements

None

Application HTTP Methods

GET

Gets the collection of application spaces to which the current user has Write permission.

Parameters

None

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the authorized application space names.",
  "additionalProperties":
  {
    "type":"object",
    "properties":
    {
      "name":{"type":"string"},
      "description":{"type":"string"},
      "appspace":{"type":"string", "format":"uri"}
    }   
  }
}
Response Example
{ 
  "Autoclaim":
  { 
    "name":" Autoclaim",
    "description":"The Autoclaim app space", 
    "appspace":"writableappspaces/Autoclaim"
  },
  "Healthclaim":
  { 
    "name":"Healthclaim"
    "description":"The Healthclaim app space",
    "appspace":"writableappspaces/Healthclaim"
  }
}
Table 55. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Writeable Application Space

/p8/bpm/v1/writableappspaces/{appspace}

Description

An application space to which the current user has Write permission. The application space object returned contains the roles information, so you can use this resource to construct the Roles resource.

Table 56. Path elements
Name Type Description
appspace String The name of the application space. The current user must have Write permission to the application space.

Application HTTP Methods

GET

Gets an application space to which the current user has Write permission.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces/Autoclaim

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "properties":
  {
    "name":{"type":"string"},
    "authoredName":{"type":"string"},
    "description":{"type":"string"},
    "roles":{"type":"string", "format":"uri"}
    "attributes":
    { 
      "type":"object",
      "additionalProperties": 
      {  
        "type":"object",
        "description":"Contains a dynamic set of properties. The property names are the attribute names.",
        "properties":
        {
          "name":{"type":"string"},
          "type":{"type":"integer", 
          "description":"VWFieldType"},
          "isArray":{"type":"boolean"},
          "value":{"type":["string","number", "boolean", "array"]}
        }
      }
    }
  }
}                       
Response Example
{ 
  "name":" Autoclaim",
  "authoredName":"Autoclaim",
  "description":"The Autoclaim application space.", 
  "roles":"writableappspaces/Autoclaim/roles",
  "attributes":{}
}
Table 57. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Writeable Application Space Role

/p8/bpm/v1/writableappspaces/{appSpace}/roles/{role}

Description

A role defined for an application space. The current user must have Write permission to the application space.

Table 58. Path elements
Name Type Description
appspace String The name of the application space containing the role. The current user must have Write permission to the application space.
role String The name of the role.

Application HTTP Methods

GET

Gets the specified role for the application space. The role names are returned in the order specified for the isolated region configuration when the roles were defined.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces/Autoclaim/roles/manager

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "properties":
  {  
    "name":{"type":"string"},
    "authoredName":{"type":"string"},
    "description":{"type":"string"},
    "homePage":{"type":"string"},
    "attributes":{"type":"string" ,"format":"uri"},
    "members":{"type":"string", "format":"uri"},
    "workbaskets": 
        {
      "type":"object",
      "additionalProperties:
      {
        "type":"object",
        "properties":
        {
          "name":{"type":"string"},
          "URI":{"type":"string","format":"uri"}
        }
      } 
    }
    "orderedWorkbaskets": 
    {
      "type":"array",
      "description":"Contains a dynamic set of properties. The property names are the authored workbasket names, in the order specified when created.",
      "items":
      {
        "name":{"type":"string"},
        "URI":{"type":"string","format":"uri"}
      }
    }
  }
}
Response Example
{
  "name":"ReviewerTranslated",
  "authoredName":"Reviewer",
  "description":"A reviewer role",
  "homePage":"AutoClaimReview.html",
  "attributes":"writableappspaces/AutoClaim/roles/Reviewer/attributes",
  "members":"writableappspaces/AutoClaim/roles/Reviewer/members",
  "workbaskets":
  {
    "Initial":{"name":"Initial", "URI":"queues/MyQueue/workbaskets/Initial"},
    "Appeal":{"name":"Appeal", "URI":"queues/MyQueue/workbaskets/Appeal"}
  },
  "orderedWorkbaskets":
  [
    {name":"Initial","URI":"queues/MyQueue/workbaskets/Initial"},
    {name":"Appeal","URI":"queues/MyQueue/workbaskets/Appeal"}
  ]
}
Table 59. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Writeable Application Space Roles

/p8/bpm/v1/writableappspaces/{appSpace}/roles

Description

The collection of roles defined for an application space. The current user must have Write permission to the application space.

Path Elements

Name Type Description
appspace String The name of the application space containing the roles.

Application HTTP Methods

GET

Gets the entire collection of roles for the application space.

Parameters

None.

Request Example
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces/Autoclaim/roles

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"object",
  "description":"Contains a dynamic set of properties. The property names are the authorized application space names.",
  "additionalProperties":
  {
    "type":"object",
    "properties":
    {
      "name":{"type":"string"},
      "description":{"type":"string"},
      "role":{"type":"string", "format":"uri"}
    }
  }
}
Response Example
{ 
  "Agent":
  { 
    "name":"Agent", 
    "description":"An agent role",
    "role":" writableappspaces/Autoclaim/roles/Agent"
  },
  "Manager":
  {
    "name":"Manager", 
    "description":"A manager role", 
    "role":"writableappspaces/Autoclaim/roles/Manager"
  }
}
Table 60. Error codes
Code Description
200 OK Successful completion - requested data returned.
500 Internal Server Error Severe problem, programmer's details provided.

Writeable Application Space Role Members

/p8/bpm/v1/writableappspaces/{appspace}/roles/{role}/members

Description

The set of members for the specified role.

Table 61. Path elements
Name Type Description
appspace String The name of the application space containing the role. The current user must have Write permission to the application space.
role String The name of the role.

Application HTTP Methods

GET

Gets the set of members assigned to the role. You can read the participants of a role if you are a member of any role in the application space or you have write access to the application space.

Parameters

None

Request Example

GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces/Autoclaim/roles/Manager/members
GET http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces/Autoclaim/roles/Manager/members

Response Content

MIME Type: application/json

JSON Schema:
{ "type":"array",
  "items": 
  { 
    "name":{"type":"string"}, 
    "displayName":{"type":"String"}, 
    "email":{"type":"string"}, 
    "isGroup":{"type":"Boolean"} 
  }
}
Response Example
[
  {
    "name":"jsmith", 
    "displayName":"John Smith", 
    "email":"jsmith@filenet.com", 
    "isGroup":false
  },
  {
    "name":"agents", 
    "displayName":"Claim Agents", 
    "email":"", 
    "isGroup":true
  }
]
Table 62. Error codes
Code Description
200 OK Successful completion - requested data returned.
400 Not Found Role does not exist.
500 Internal Server Error Severe problem, programmer's details provided.

Writeable Application Space Role Members Update

/p8/bpm/v1/writableappspaces/{appspace}/roles/{role}/members

Description

Update role membership for the specified role. The current user must have Write permission to the application space.

Table 63. Path elements
Name Type Description
appspace String The name of the application space.
role String The name of the role.

Application HTTP Methods

PUT

Updates the role membership for the specified role by adding or removing members from the role. The current user must have write permission to the application space.

Parameters

None

Request Example

PUT http://restHost:8000/myContext/P8BPMREST/p8/bpm/v1/writableappspaces/Autoclaim/roles/Manager/members

Request Content

There must be a JSON string array for each add (additionList) or remove (deletionList) operation, where each string in the array is the short name of the user or group for the members to be added or removed. For more information, see JSON Representation for Step Elements.

MIME Type: application/json

JSON Schema:
{ "type": object",
  "properties":
  {
    "deletionList":
    {
      "type":"array",
      "items": {"type":"string"}
    }
    "additionList":
    {
      "type":"array",
      "items": {"type":"string"}
    }
  }
}
Request Content Example
{
  "deletionList"
    ["msmith", "agupta"],
  "additionList"
    ["bjones"]
}

Response Content

None

Table 64. Error codes
Code Description
200 OK Successful completion - requested data returned.
400 Not Found Role does not exist.
500 Internal Server Error Severe problem, programmer's details provided.

JSON Representation for Step Elements

The Step Element and Launch Step Element resources have a common JSON schema for response content. The Launch Step Element POST request content also shares this schema.

The responses property on the systemProperties object will be an empty array if a response is not required for the step. In this case, the selectedResponse property will not be present.

If a step does require a response, responses property will contain an array of the response names, and the selectedResponse property will be present. The client should set the selectedResponse property to one of the values returned in the responses property before sending the step element object back to the server to be saved or dispatched.

Some properties on the systemProperties object are not applicable to Launch Step Element, and are present only in the Step Element systemProperties content. These properties are:

{ "type":"object",
  "propeties":
  {
    "systemProperties":
    {
      "type":"object",
      "properties":
      {
        "workflowName":{"type":"string"},
        "subject":{"type":"string"},
        "instruction":{"type":"string"},
        "stepName":{"type":"string"},
        "caseFolderId":{"type":"string", "description":"The GUID value identifying the folder."},
        "caseTaskId":{"type":"string", "description":"The GUID value identifying the activity."},
        "canReassign":{"type":"boolean"},
        "canReturnToSource":{"type":"boolean"},
        "stepId":{"type":"integer"},
        "mapName":{"type":"string"},
        "authoredMapName":{"type":"string"},
        "deadline":{"type":"string","description":"In Step Element Only"},
        "launchDate":{"type":"string","format":"date-time"},
        "reminder":{"type":"string","format":"date-time"},
        "overdueStatus":{"type":"integer", "enum":[0,1,2]},
        "originator":{"type":"string"},
        "sourceDoc":{"type":"string"},
        "workObjectNumber":{"type":"string"},
        "workflowNumber":{"type":"string"},
        "comment":{"type":"string"},
        "lockedBy":{"type":"string", "description":"Contains the name of the user who has the work item locked."},
        "lockedById":{"type":"integer", "description":"Contains the id of the user who has the work item locked. This will be -1 if the work item is not locked."},
        "milestones":{"type":"string","format":"uri"},
        "responses":
        {
          "type":"array",
          "items":{"type":"string"}
        }
        "selectedResponse":{"type":"string"}   
      }
    }
    "dataFields":
    {
      "type":"object",
      "description":"Contains a dynamic set of properties. The property names are the authored data field names.",
      "additionalProperties":
      {
        "type":"object",
        "properties":
        {
          "name":{"type":"string","description":"Translated data field name."},
          "type":{"type":"integer","description":"VWFieldType"},
          "isArray":{"type":"boolean"},
          "mode":{"type":"integer","description":"VWModeType"},
          "desc":{"type":"string"},
          "modified":{"type":boolean","description":"When a client modifies a data field it should set this property to true."},
          "value":{"type":["string","number","boolean","array"]}
        }
      }
    }
    "attachments":
    {
      "type":"object",
      "description":"Contains a dynamic set of properties. The property names are the authored attachment names.",
      "additionalProperties":
      {
        "type":"object",
        "properties":
        {
          "name":{"type":"string","description":"Translated attachment name."},
          "type":{"type":"integer","description":"VWFieldType"},
          "isArray":{"type":"boolean"},
          "mode":{"type":"integer","description":"VWModeType"},
          "desc":{"type":"string"},
          "modified":{"type":boolean","description":"When a client modifies an attachment it should set this property to true."},
          "value":
          {
            "type":["object","array"],
            "properties":
            {
              "title":{"type":"string"},
              "desc":{"type":"string"},
              "libraryName":{"type":"string"},
              "libraryType":{"type":"integer"},
              "type":{"type":"integer"},
              "vsId":{"type":"string"},
              "version":{"type":"string"}
            }
          }     
        }
      }
    }
    "workflowGroups":
    {
      "type":"object",
      "description":"Contains a dynamic set of properties. The property names are the authored workflow group names.",
      "additionalProperties":
      {
        "type":"object",
        "properties":
        {
          "name":{"type":"string","description":"Translated workflow group name."},
          "type":{"type":"integer","description":"VWFieldType"},
          "isArray":{"type":"boolean"},
          "mode":{"type":"integer""description":"VWModeType"},
          "desc":{"type":"string"},
          "modified":{"type":boolean","description":"When a client modifies a workflow group it should set this property to true."},
          "value":
          {
            "type":"array",
            "items":{"type":"string"}
          }
        }
      }
    }
    "stepProcessor":
    {
      "type":"object",
      "properties":,
      {
        "name":{"type":"string"},
        "id":{"type":"integer"},
        "appType":{"type":"string"},
        "processorType":{"type":"string"},
        "width":{"type":"integer"},
        "height":{"type":"integer"},
        "applicationName":{"type":"string"},
        "locations":
        {
          "type":"object",
          "description":"Contains a dynamic set of properties. The property names are the web application identifiers. The value of each property is the step processor location for that web application.",
          "additionalProperties":{"type":"string"}
        }
      }
    }
  }
}
Step Elements Response Example
"systemProperties":
{
  "workflowName":"QFieldTest",
  "subject":"QFieldTest",
  "instruction":"",
  "stepName":"LaunchStep",
  "stepId":1,
  "mapName":"Workflow",
  "authoredMapName":"Workflow",
  "deadline":"2008-01-13T19:49:00Z",
  "reminder":"2008-02-13T19:49:00Z",
  "launchDate":"2008-03-13T19:49:00Z",
  "overdueStatus":1,
  "originator":"jsmith",
  "sourceDoc":"",
  "workObjectNumber":"",
  "workflowNumber":"",
  "comment":"This is a cool step",
  "lockedBy":"elijah",
  "lockedById":"23",
  "milestones":"/context/P8BPMREST/p8/bpm/v1/queues/{queue}/stepelements/{wobnum}/milestones",
  "responses": ["Yes","No"]
  "selectedResponse":"Yes"
}
"attachments":
{
  "supportingDocs":
  {
    "name":"supportingDocs",
    "value":
    [
      {
        "title":"Credit Report1",
        "desc":"",
        "libraryName":"peru",
        "libraryType":3,
        "type":3,
        "vsId":"{F34061E3-ACB4-4223-B7B9-0F173F72DD15}",
        "version":"-1"
      },
      {
        "title":"Bank Statement1",
        "desc":"",
        "libraryName":"peru",
        "libraryType":3,
        "type":2,
        "vsId":"{70E15871-20AF-4784-9307-797CA0618C5C}",
        "version":""
      }
    ],
    "type":32,
    "isArray":true,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "application":
  {
    "name":"application",
    "value":{},
    "type":32,
    "isArray":false,
    "mode":1,
    "desc":""
  }
}
"dataFields":
{
  "QBool":
  {
    "name":"QBool",
    "value":true,
    "type":4,
    "isArray":false,
    "mode":1,
    "desc":""
  },
  "QString":
  {
    "name":"QString",
    "value":"red",
    "type":2,
    "isArray":false,
    "mode":2,
    "desc":"",
    "modified":false
  },
  "QFloatArray":
  {
    "name":"QFloatArray",
    "value":[500.0,400.0,300.0,200.0,100.0],
    "type":8,
    "isArray":true,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QFloat":
  {
    "name":"QFloat",
    "value":3.14,
    "type":8,
    "isArray":false,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QTime":
  {
    "name":"QTime",
    "value":"2008-07-24T18:56:10-0700",
    "type":16,
    "isArray":false,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QTimeArray":
  {
    "name":"QTimeArray",
    "value":["2008-07-24T18:56:10-0700","2008-07-24T18:56:10-0700"],
    "type":16,
    "isArray":true,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QBoolArray":
  {
    "name":"QBoolArray",
    "value":[],
    "type":4,
    "isArray":true,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QStringArray":
  {
    "name":"QStringArray",
    "value":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
    "type":2,
    "isArray":false,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QInt":
  {
    "name":"QInt",
    "value":100,
    "type":1,
    "isArray":false,
    "mode":3,
    "desc":"",
    "modified":false
  },
  "QIntArray":
  {
    "name":"QIntArray",
    "value":[0,1,2,3],
    "type":1,
    "isArray":true,
    "mode":3,
    "desc":"",
    "modified":false
  }
}
"workflowGroups":
{
  "QGroup1":
  {
    "name":"QGroup1",
    "value":["QGroup1","QGroup1GParent","QGroup1Parent"],
    "type":64,
    "isArray":true,
    "mode":3,
    "desc":"",
    "modified":false
  }
}
"stepProcessor":
{
  "width":800,
  "processorType":1,
  "height":600,
  "applicationName":"",
  "appType":32,
  "name":"Approval Launch HTML (FileNet)",
  "id":6,
  "locations":
  {
    "7":"html/ootb/LaunchApproval.jsp",
    "1":"html/ootb/LaunchApproval.jsp"
  }
}


Last updated: March 2016
rest_ref.htm

© Copyright IBM Corporation 2016.