IBM Process Federation Server provides a set of APIs that are implemented using Representational State Transfer (REST) services.
A set of REST resources is provided for accessing business process, human task, work basket or business category data.
"http://{host}:{port}" contains the host address and port
"/rest" is the context root
"/bpm/federated/v1/{anyResource}?{parameter}", together with the host address/port and context root, represents the IBM Process Federation Server resource
Each resource URI has a version identification (/v1) for handling changes to the REST API set that would break compatibility with existing REST clients. The following changes are considered compatible and must be expected by clients:
Adding new REST resource relationship to the resource model, without affecting existing navigation
Adding additive information to REST representations that won't affect existing clients
Adding a new MIME type / representation support
Adding new properties to existing JSON objects returned to a client (ignored by backlevel clients)
Adding new properties to existing JSON objects received from a client (defined as optional)
The data included in requests or responses will be
application/json
JSON (JavaScript Object Notation) - This is the default response content type.
For the detailed format of each returned object, see the JSON schema specifications for each operation.
For task descriptions, documentations, etc., a client should send the list of preferred languages in the "Accept-Language" HTTP header
(example: "Accept-Language: da, en-gb;q=0.8, en;q=0.7" - "I prefer Danish, but will accept British English and other types of English").
The server responds with a "Content-Language" HTTP header (example: "Content-Language: en").
The following list provides a summary of supported HTTP headers applicable to any resource URI:
HTTP headers:
"Accept" - used to specify the acceptable media type(s) for the response
"Accept-Encoding" - used to specify the acceptable content encodings for the response
"Accept-Language" - used to specify the set of natural languages that are preferred in the response
"Content-Type" - specifies the media type of the request or response message body
"X-Method-Override" - indicates the HTTP operation that is tunneled through this request; in other words,
this specifies a method name which overrides the method specified in the HTTP request header.
"X-HTTP-Method-Override" - equivalent to "X-Method-Override"
For errors recognized during processing of a REST request, an appropriate HTTP status code is returned to the
calling client. The following HTTP status codes are returned by IBM Process Federation Server REST methods:
Successful completion of the request:
"200 OK" - successful completion
"201 Created" - successful completion, new resource created
"204 No Content" - successful completion, no content available
Expected error situations - additional error information is provided depending on the error type:
"400 Bad Request" - parameters are not valid or they are missing
"401 Unauthorized" - caller is not authorized for this request
"403 Forbidden" - caller is not allowed to complete this request
"404 Not Found" - resource does not exist
"409 Conflict" - conflict exists with the current state of the resource
Unexpected error:
"500 Internal Server Error" - severe problem - programmer's details provided
"503 Service Unavailable" - federated requests could not be delivered to individual federation targets