The API Orchestration user interface is accessed from the APIs List page on the API Builder Console by selecting a Flow icon or a Create Flow icon for a generated or imported endpoint depending upon the current endpoint status. The API Orchestration user interface is divided into the following panels:
- Flow-node list (left side of the API Orchestration user interface) - Provides a graphical listing of the Model and Core flow-nodes. The default Core flow-node types are: Custom, Codeblock, Compose, Condition, Delay, HTTP, JSON, and Set Context. A model flow-node is displayed for each configured model and an endpoint flow-node is displayed for each imported endpoint.
- Flow editor (center of the API Orchestration user interface) - Provides a graphical space to view, edit, and create flows.
- Flow-node configuration (right side of the API Orchestration user interface) - Provides the functionality to configure the Name, Method, Parameters, and Outputs of flow-nodes.
This topic is divided into the following sections:
Model flow-node
The Model flow-node methods, parameters, and outputs are described in the following sections.
Methods
The method selections for a Model flow-node are:
count- Gets a count of records.create- Creates a new model object.delete- Deletes the model object.deleteAll- Deletes all the model objects.distinct- Finds unique values using the provided field.findAll- Finds all model instances.findAndModify- Finds one model instance and modifies it.findByID- Finds model instance by ID.query- Queries for particular model records.update- Updates a model instance.upsert- Creates a model record if not found, or updates the model record if found.
Parameters
The Model flow-node parameters are described in the following sections.
count parameters
The count method parameters are:
|
Parameter
|
Type
|
Default
|
Description
|
Configuration selection
|
|---|---|---|---|---|
limit |
integer | 10 |
The number of records to fetch. | Selector, Number |
order |
object | - |
A dictionary of key-value pairs describing the field(s) for sorting. The field name is the key and the value is set to either -1 for ascending order or 1 for descending order. | Selector, Object |
page |
integer | 1 |
Starting page number. | Selector, Number |
per_page |
integer | 10 |
Results per page. | Selector, Number |
sel |
object | - |
A dictionary of key-value pairs describing which fields to include in the query results. The field name is the key and the value is set to 1. | Selector, Object |
skip |
integer | - |
The number of records to skip. | Selector, Number |
unsel |
object | - |
A dictionary of key-value pairs describing which fields to exclude from the query results. The field name is the key and the value is set to 1. | Selector, Object |
where |
string | - |
The JSON-encoded object specifying field constraints. The field name is the key and the value is the constraint statement or value. | Selector, String |
All parameters can be enabled or disabled.
create parameters
The create method parameter is:
|
Parameter
|
Type
|
Configuration selection
|
|---|---|---|
data |
object | Selector, Object |
delete parameters
The delete method parameter is:
|
Parameter
|
Type
|
Configuration selection
|
|---|---|---|
id |
any | Selector, String, Number, Boolean, Object, Array, Null |
deleteAll parameters
There are no configurable deleteAll method parameters.
distinct parameters
The distinct method parameters are:
|
Parameter
|
Type
|
Default
|
Description
|
Configuration selection
|
|---|---|---|---|---|
field |
string | - |
The field must be distinct. | Selector, String |
limit |
integer | 10 |
The number of records to fetch. | Selector, Number |
order |
object | - |
A dictionary of key-value pairs describing the field(s) for sorting. The field name is the key and the value is set to either -1 for ascending order or 1 for descending order. | Selector, Object |
page |
number | 1 |
Starting page number. | Selector, Number |
per_page |
integer | 10 |
Results per page. | Selector, Number |
sel |
object | - |
A dictionary of key-value pairs describing which fields to include in the query results. The field name is the key and the value is set to 1. | Selector, Object |
skip |
integer | - |
The number of records to skip. | Selector, Number |
unsel |
object | - |
A dictionary of key-value pairs describing which fields to exclude from the query results. The field name is the key and the value is set to 1. | Selector, Object |
where |
string | - |
The JSON-encoded object specifying field constraints. The field name is the key and the value is the constraint statement or value. | Selector, String |
The limit, order, page, per_page, sel, skip, unsel, and where parameters can be enabled or disabled.
findAll parameters
There are no configurable findAll method parameters.
findAndModify parameters
The findAndModify method parameters are:
|
Parameter
|
Type
|
Default
|
Description
|
Configuration selection
|
|---|---|---|---|---|
data |
object | - |
- | Selector, Object |
args |
object | - |
Optional parameters. | Selector, Object |
limit |
integer | 10 |
The number of records to fetch. | Selector, Number |
order |
object | - |
A dictionary of key-value pairs describing the field(s) for sorting. The field name is the key and the value is set to either -1 for ascending order or 1 for descending order. | Selector, Object |
page |
integer | 1 |
Starting page number. | Selector, Number |
per_page |
integer | 10 |
Results per page. | Selector, Number |
sel |
object | - |
A dictionary of key-value pairs describing which fields to include in the query results. The field name is the key and the value is set to 1. | Selector, Object |
skip |
integer | - |
The number of records to skip. | Selector, Number |
unsel |
object | - |
A dictionary of key-value pairs describing which fields to exclude from the query results. The field name is the key and the value is set to 1. | Selector, Object |
where |
string | - |
The JSON-encoded object specifying field constraints. The field name is the key and the value is the constraint statement or value. | Selector, String |
The args, limit, order, page, per_page, sel, skip, unsel, and where parameters can be enabled or disabled.
findByID parameters
The findByID method parameter is:
|
Parameter
|
Type
|
Default
|
Description
|
JSONPath
|
Configuration selections
|
|---|---|---|---|---|---|
id |
any | - |
- | $.params.id |
Selector, String, Number, Boolean, Object, Array, Null |
query parameters
The query method parameters are:
|
Parameter
|
Type
|
Default
|
Description
|
Configuration selection
|
|---|---|---|---|---|
limit |
integer | 10 |
The number of records to fetch. | Selector, Number |
order |
object | - |
A dictionary of key-value pairs describing the field(s) for sorting. The field name is the key and the value is set to either -1 for ascending order or 1 for descending order. | Selector, Object |
page |
integer | - |
Starting page number. | Selector, Number |
per_page |
integer | 10 |
Results per page. | Selector, Number |
sel |
object | - |
A dictionary of key-value pairs describing which fields to include in the query results. The field name is the key and the value is set to 1. | Selector, Object |
skip |
integer | - |
The number of records to skip. | Selector, Number |
unsel |
object | - |
A dictionary of key-value pairs describing which fields to exclude from the query results. The field name is the key and the value is set to 1. | Selector, Object |
where |
string | - |
The JSON-encoded object specifying field constraints. The field name is the key and the value is the constraint statement or value. | Selector, String |
All parameters can be enabled or disabled.
update parameters
The update method parameters are:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
data |
object | Dependent on configured model fields. | Selector, Object |
id |
any | - | Selector, String, Number, Boolean, Object, Array, Null |
upsert parameters
The upsert method parameter is:
|
Parameter
|
Type
|
Configuration selections
|
|---|---|---|
data |
object | Selector, Object |
Outputs
The Model flow-node outputs are described in the following sections.
count outputs
The count method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
number | Successfully counted records of simpleuser. | $.count |
create outputs
The create method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
object | Successfully created a simpleuser. | $.model |
delete outputs
The delete method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
object | Successfully deleted the simpleuser. | $.delete |
notfound |
any | No model instance found. | - |
deleteAll outputs
The deleteAll method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
array | Successfully deleted all the simpleusers. | - |
distinct outputs
The distinct method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
array | Successfully found all unique values of simpleuser. | $.models |
findAll outputs
The findAll method output is:
|
Outputs
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
| next | array | Successfully found all simpleusers. | $.models |
findAndModify outputs
The findAndModity method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
object | Successfully found and modified simpleuser. | $.model |
notfound |
any | No matching model found. | - |
findByID outputs
The findByID method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
object | Successfully found instance of simpleuser by ID. | $.model |
notfound |
any | No model instance found. | - |
query outputs
The query method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
array | Successfully queried the simpleuser. | $.models |
update outputs
The update method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
object | Successfully updated the simpleuser. | $.model |
notfound |
any | No model instance found. | - |
upsert outputs
The upsert method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
update |
object | Successfully updated the model. | $.model |
insert |
object | Successfully inserted the model. | $.model |
Codeblock flow-node
The Codeblock flow-node methods, parameters, and outputs for the Greet Codeblock flow-node are described in the following sections. Each method in a Codeblock flow-node corresponds to a single codeblock. The Greet Codeblock flow-node is created when a new application is created, but it can be deleted.
Methods
The default method for the Greet Codeblock flow-node is:
Greet- Some codeblock to run with the greet flow.
Parameter
The Greet method parameter is:
|
Parameter
|
Type
|
Configuration selection
|
|---|---|---|
|
|
string | Selector, String |
Outputs
The Greet method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
string | The codeblock completed. |
|
|
|
object | The codeblock failed to complete. |
|
Condition flow-node
The Condition flow-node methods, parameters, and outputs are described in the following sections.
Methods
The default methods for a Condition flow-node are:
equals- Tests is a value is equal.exists- Tests does a value exists, true or false.greater-than- Tests is a value is greater than another value.greater-than-equal- Tests is a value is greater than or equal to another value.less-than- Tests is a value is less than another value.less-than-equal- Tests is a value is less than or equal to another value.
Parameters
The Condition parameters are described in the following sections.
equals parameters
The equals method parameters are:
|
Parameter
|
Type
|
Minimum length
|
Description
|
Configuration selection
|
|---|---|---|---|---|
source |
any | 1 |
The input to test. | Selector, String, Number, Boolean, Object, Array, Null |
value |
any | 1 |
The value to test input against. | Selector, String, Number, Boolean, Object, Array, Null |
exists parameters
The exists method parameter is:
|
Parameter
|
Type
|
Minimum length
|
Description
|
Configuration selection
|
|---|---|---|---|---|
source |
any | - |
The input to test. | Selector, String, Number, Boolean, Object, Array, Null |
greater-than parameters
The greater-than method parameters are:
|
Parameter
|
Type
|
Minimum length
|
Description
|
Configuration selection
|
|---|---|---|---|---|
source |
any | 1 |
The input to test. | Selector, String, Number, Boolean, Object, Array, Null |
value |
any | 1 |
The value to test input against. | Selector, String, Number, Boolean, Object, Array, Null |
greater-than-equal parameters
The greater-than-equal method parameters are:
|
Parameter
|
Type
|
Minimum length
|
Description
|
Configuration selection
|
|---|---|---|---|---|
source |
any | 1 |
The input to test. | Selector, String, Number, Boolean, Object, Array, Null |
value |
any | 1 |
The value to test input against. | Selector, String, Number, Boolean, Object, Array, Null |
less-than parameters
The less-than method parameters are:
|
Parameter
|
Type
|
Minimum length
|
Description
|
Configuration selection
|
|---|---|---|---|---|
source |
any | 1 |
The input to test. | Selector, String, Number, Boolean, Object, Array, Null |
value |
any | 1 |
The value to test input against. | Selector, String, Number, Boolean, Object, Array, Null |
less-than-equal parameters
The less-than-equal method parameters are:
|
Parameter
|
Type
|
Minimum length
|
Description
|
Configuration selection
|
|---|---|---|---|---|
source |
any | 1 |
The input to test. | Selector, String, Number, Boolean, Object, Array, Null |
value |
any | 1 |
The value to test input against. | Selector, String, Number, Boolean, Object, Array, Null |
Outputs
The Condition flow-node outputs are described in the following sections.
equals outputs
The equals method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
true |
boolean | The condition tested true. | $.equals |
false |
boolean | The condition tested false. | $.equals |
exists outputs
The exists method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
true |
boolean | The condition tested true. | $.exists |
false |
boolean | The condition tested false. | $.exists |
greater-than outputs
The greater-than method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
true |
boolean | The condition tested true. | $.greaterThan |
false |
boolean | The condition tested false. | $.greaterThan |
greater-than-equal outputs
The greater-than-equal method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
true |
boolean | The condition tested true. | $.greaterThanEqual |
false |
boolean | The condition tested false. | $.greaterThanEqual |
less-than outputs
The greater-than-equal method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
true |
boolean | The condition tested true. | $.lessThan |
false |
boolean | The condition tested false. | $.lessThan |
less-than-equal outputs
The less-than-equal method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
true |
boolean | The condition tested true. | $.lessThanEqual |
false |
boolean | The condition tested false. | $.lessThanEqual |
Delay flow-node
The Delay flow-node method, parameter, and output are described in the following sections.
Method
The method for a Delay flow-node is:
delay- Wait for a certain amount of time before continuing to the next flow-node.
Parameter
The Delay flow-node parameter is described in the following section.
delay parameters
The delay method parameter is:
|
Parameter
|
Type
|
Default
|
Description
|
Configuration selection
|
|---|---|---|---|---|
delay |
integer | - |
The length of delay, in milliseconds. | Selector, Number |
Output
The Delay flow-node output is described in the following section.
delay outputs
The delay method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
integer | The delay is completed. | $.delayed |
HTTP flow-node
Method
The method for a HTTP flow-node is:
-
setHTTPResponse
Parameter
The HTTP flow-node parameter is described in the following section.
setHTTPResponse parameter
The setHTTPResponse method parameters are:
|
Parameter
|
Type
|
Minimum
|
Maximum
|
Description
|
Configuration selection
|
|---|---|---|---|---|---|
status |
integer | 100 |
599 |
- | Selector, Number |
body |
any | - |
- |
- | Selector, String, Number, Boolean, Object, Array, Null |
headers |
object | - |
- |
- | Selector, Object |
The body and headers parameters can be enabled or disabled.
Output
The HTTP flow-node output is described in the following section.
setHTTPResponse output
The setHTTPResponse method does not have any configurable outputs.
Set Context flow-node
The Set Context flow-node method, parameter, and output are described in the following sections.
Method
The method for a Set Context flow-node is:
setContext
Parameter
The Set Context flow-node parameter is described in the following section.
setContext parameter
The setContext method parameter is:
|
Parameter
|
Type
|
Default
|
Description
|
Configuration selection
|
|---|---|---|---|---|
value |
any | - |
- | Selector, String, Number, Boolean, Object, Array, Null |
Output
The Set Context flow-node output is described in the following section.
setContext output
The setContext method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
next |
any | - | - |
Custom flow-nodes
Custom flow-nodes which are not built into the API Builder Console can be created and installed. Axway provides three custom flow-nodes with new projects and more planned for the future. The custom flow-node handlers are created and their methods, parameters, and outputs are defined using the Axway Flow SDK. For additional information, see Axway Flow SDK.
The custom flow-nodes currently provided with a new project are:
Base64 flow-node
The flow-node methods, parameters, output for the Base64 flow-node are
described in the following sections. The Base64 flow-node is created when
NPM installs the nodehandler-base64 code. The Base64 flow-node is included in the default application, but
it can be removed.
Methods
The Base64 flow-node default methods are:
Decode- Decodes base64 encoded data.Encode- Encodes base64 data.
Parameters
The Base64 flow-node parameters are described in the following sections.
Decode parameters
The Decode method parameters are:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
|
|
string | The date to decode. | Selector, String |
|
|
string | Expected decoded data format. | Selector, String |
The as parameter can be enabled or disabled.
Encode parameters
The Encode method parameter is:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
|
|
any | The data to encode. | Selector, String, Number, Boolean, Object, Array, Null |
Outputs
The Base64 flow-node outputs are described in the following sections.
Decode outputs
The Decode method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
string | The base64 decoded data. |
|
|
|
any | - |
|
Encode outputs
The Encode method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
string | The base64 encoded data. |
|
Compose flow-node
The Compose flow-node methods, parameters, and outputs are described in
the following sections. The Compose flow-node is created when NPM installs
the nodehandler-dot code. The Compose flow-node is included in the default application, but
it can be removed.
Methods
The default methods for a Compose flow-node are:
Format object- Compose an object by evaluating a template. The evaluated template is JSON parsed and so must be a valid JSON encoded string.Format string- Compose a string by evaluating a template.
Parameters
The Compose flow-node parameters are described in the following sections.
Format object parameters
The Format object method parameters are:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
|
|
object | The data to evaluate the template with. Use $ to access the entire context. | Selector, Object |
|
|
string | The doT template. | Selector, String |
Format string parameters
The Format string method parameters are:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
data |
object | The data to evaluate the template with. Use $ to access the entire context. | Selector, Object |
template |
string | The doT template. | Selector, String |
Outputs
The Compose flow-node outputs are described in the following sections.
Format object outputs
The Format object method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
any | - |
|
|
|
any | This output is triggered if the evaluated template is not a valid JSON string. The output value is the error object. |
|
Format string outputs
The Format string method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
any | - |
|
|
|
any | This output is triggered if the evaluated template is not valid. The output value is error object. |
|
JSON flow-node
The JSON flow-node methods, parameters, and output are described in the
following sections. The JSON flow-node is created when NPM installs the nodehandler-json code. The JSON flow-node is included in the default application, but it
can be removed.
Methods
The default methods for a JSON flow-node are:
Parse- The parse method parses a JSON string, constructing the JavaScript value or object described by the string.Stringify- The stringify method converts a JavaScript value to a JSON string.
Parameters
The JSON flow-node parameters are described in the following sections.
Parse parameters
The Parse method parameter is:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
|
|
string | The JSON string to parse. | Selector, String |
Stringify parameters
The Stringify method parameters are:
|
Parameter
|
Type
|
Description
|
Configuration selection
|
|---|---|---|---|
|
|
any | The value to convert to a JSON string. | Selector, String, Number, Boolean, Object, Array, Null |
|
|
any | A string or number object that's used to insert white space into the output JSON string for readability purposes. If this is a number, it indicates the number of space characters to use as white space; this number is capped at 10. If this is a string, its maximum length is 10; the string is used as white space. If this parameter is not provided, no white space is used. | Selector, String, Number, Boolean, Object, Array, Null |
The space parameter can be enabled or disabled.
Outputs
The JSON flow-node outputs are described in the following sections.
Parse outputs
The Parse method outputs are:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
any | - |
|
|
|
any | This output is triggered if the input is not a valid JSON string. The output value is the error object. |
|
Stringify outputs
The Stringify method output is:
|
Output
|
Type
|
Description
|
Save output value as:
|
|---|---|---|---|
|
|
string | - |
|