Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The workflow API provides functionality that allows a administrator to perform actions such as adding and configuring workflow

Easy Heading Free
titleExpandClickabletrue
navigationTitleOn this Page
navigationExpandOptionexpand-all-by-default

Section

Get all workflows

Lists all the workflows configured in the Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb
GET /aspire/_api/workflows

Pagination query string parameters

Sorting query string parameters

Query String Parameters

NameTypeRequiredDescription
sparsebooleanOptionalOnly return minimal data such as identifier, description, name etc
Section

Get all workflows, filtered

Lists workflows configured in the Aspire, filtered by a specified criteria, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/workflows/getAll

Pagination query string parameters

Sorting query string parameters

Common filter


Response

Code Block
languagejs
{
  "workflow": [{
    "id": "AAABcID5GBc=",
    "description": "Publish to Elasticsearch",
    ...
  },
  {
    "id": "AAABcIueWUc=",
    "description": "Normalise data",
    ...
  }]
}

Status: 200



Section

Get a single workflow

Get information about a single workflow in Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe id of the workflow to return


Query String Parameters

NameTypeRequiredDescription
transformbooleanOptionalWhether to transform the output.  Default "false"
sectionstringOptionalThe section required for the output. The value can be "templates", "rules", "events"


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcID5GBc=",
    "description": "Publish to Elasticsearch",
    ...
  }
}

Status: 200, 404




Section

Add single workflow

Adds a single workflow to Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb
POST /aspire/_api/workflows


Body Parameters

NameTypeRequiredDescription
descriptionstringRequiredA description of the workflow


Query String Parameters

NameTypeRequiredDescription
typestringRequired

Accepted values are: "connector" and "service"

If connector is set the workflow created with the following events will be created:

  • onScan
  • onAddUpdate
  • onDelete
  • onPublish
  • onError

If service is set the workflow will be created without events.


Example

Code Block
languagejs
POST /aspire/_api/workflows?type=connector
{
  "description": "Publish to Elastic"
}


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcID5GBc=",
    "description": "Publish to Elastic",
    "type": "connector"
    ....
  }
}

Status: 200, 406



Section

Update workflows, filtered

Update connectors configured in the Aspire, filtered by a specified criteria, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/workflows/updateAll

Common filter

Update body parameter


Response

Code Block
languagejs
{
  "message": "update result response message"
}

Status: 200, 406

Section

Delete multiple workflows, filtered

Delete multiple workflows from Aspire, filtered by a specified criteria, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/workflows/deleteAll

Common filter

Response

Code Block
languagejs
{
  "message": "delete result response message"
}

Status: 200, 404, 406




Section

Delete workflow(s)

Delete one or more workflows from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

DELETE /aspire/_api/workflows/:id

DELETE /aspire/_api/workflows

POST /aspire/_api/workflows/delete


Path Parameters and Query parameters

NameTypeRequiredDescription
idstringRequiredThe identifier(s) of the workflow(s) to delete


Body Parameter

NameTypeRequiredDescription
idsstringRequiredThe identifier(s) of the workflow(s) to delete


Examples

Code Block
languagejs
DELETE /aspire/_api/workflows/AAABcID5GBc

DELETE /aspire/_api/workflows?id=AAABcID5GBc&id=AAABcID5GBd

POST /aspire/_api/workflows/delete
{
  "ids":["AAABcID5GBc","AAABcID5GBd"]
}


Response

Code Block
languagejs
{
  "message": "delete result response message"
}

Status: 200, 404, 406




Section

Get a workflow event

Get a event from a workflow in Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id/:eventId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow(s) to return
eventIdstringRequiredThe identifier of the event to get


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "event": {
      "id": "onUpdate"
       ....
    }
  }
}

Status: 200, 404, 406

Section

Get workflow events

Get a event from a workflow in Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow(s) to return


Response

Code Block
languagejs
{
    "workflow": {
        "id": "72022651-c2f4-45a9-9e18-2b0ace529cda",
        "type": "connector",
        "description": "Test Workflow",
        "checksum": "2b8dc08a2da838304528b4695109e2379da9a670c5a195dcd27355e8daa20a8b",
        "events": {
            "event": [
                {
                    "id": "onScan"
                },
                {
                    "id": "onAddUpdate"
                },
                {
                    "id": "onDelete"
                },
                {
                    "id": "onPublish",
                    "item": {
                        "id": "404fefb7-b7f4-48cf-a7b1-81872587a85b",
                        "type": "reference",
                        "ruleId": "5d1273b8-9dc0-4f6d-89f3-fe6f331a6067",
                        "enabled": true
                    }
                },
                {
                    "id": "onError"
                },
                {
                    "id": "onIdentity"
                },
                {
                    "id": "onIdentityError"
                }
            ]
        }
    }
}

Status: 200, 404, 406



Section

Create workflow event(s)

Create one or more workflow events in Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/workflows/:id

PUT /aspire/_api/workflows/:id/:eventId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow(s) to add a event to
eventIdstringRequiredThe identifier of the event to add


Examples

Create multiple events (body parameter)

Code Block
languagejs
[{
  "id": "scan"
},
{
  "id": "addUpdate"
}]


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "event": {
      "id": ["scan", "addUpdate"]
    }
  }
}

Status: 200, 404, 406




Section

Delete a workflow event

Delete a workflow event from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

DELETE /aspire/_api/workflows/:id/:eventId


Path  Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow(s) to use
eventIdstringRequiredThe identifier of the event to delete


Response

Code Block
languagejs
{
  "message": "delete result response message"
}

Status: 200, 404, 406




Section

Create a workflow event item

Create a workflow event item - a rule, condition and the like, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/workflows/:id/:eventId/:type


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow(s) to return
eventIdstringRequiredThe identifier of the event to get
typestringRequiredThe type of the item to create


Body Parameters

The request body parameters will differ depending on the type of item created. Some examples are shown below

Item TypeParameter NameParameter TypeRequiredDescription
reference


parentIdstringOptionalThe identifier of the node in to which the item should be inserted. Defaults to the root node. The valid parents for reference items are the root node, items of the type condition or references which ruleId is for a rule of type "folder"
orderIdintegerRequiredThe position (which in the children of the parent node) where this reference should be inserted. For example 0 means at the beginning, in the case of using a number greater than the current number of children within the parent node the item will be inserted at the end
ruleIdStringRequiredThe rule to be referenced, it must exist
enabledbooleanOptionalWhether or not the item is enabled (default true)
condition



parentIdstringRequiredThe identifier of the node in to which the item should be inserted. The valid parents for condition items are references which ruleId is for a rule of type "choice".
valueobjectRequiredThe value to be compared against
conditionTypeStringRequiredThe value type, possible types are "string", "boolean", "integer", "long", "double", "float"
enabledbooleanOptionalWhether or not the item is enabled (default true)
templateStringRequiredThe condition template id.
exit

parentIdstringOptionalThe identifier of the node in to which the item should be inserted. Defaults to the root node. The valid parents for exit items are the root node, items of the type condition or references which ruleId is for a rule of type "folder"
orderIdintegerRequiredThe position (which in the children of the parent node) where this reference should be inserted
enabledbooleanOptionalWhether or not the item is enabled (default true)


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "event": {
      "id": "onAddUpdate",
      "rule": {
        "id": "AAABcQwxWUc=",
        ...
      }
    }
  }
}

Status: 200, 404, 406




Section

Update a workflow event item

Update a workflow event item from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/workflows/:id/:eventId/:itemId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow(s) to return
eventIdstringRequiredThe identifier of the event to get
typestringRequiredThe type of the item to create


Body Parameters

The request body parameters will differ depending on the type of item created. Some examples are shown below

Item TypeParameter NameParameter TypeRequiredDescription
referenceparentIdstringRequiredThe identifier of the parent node of the item to update. The parent cannot be updated using this method, use the move event item method to change the parent.

ruleIdStringOptionalThe rule to be referenced, it must exist

enabledbooleanOptionalWhether or not the item is enabled (default true)
conditionparentIdstringRequiredThe identifier of the parent node of the item to update. The parent cannot be updated using this method, use the move event item method to change the parent.

valueobjectOptionalThe value to be compared against

typeStringOptionalThe value type, possible types are "string", "boolean", "integer", "long", "double", "float"

enabledbooleanOptionalWhether or not the item is enabled (default true)

templateStringOptionalThe condition template id.
exitparentIdstringRequiredThe identifier of the parent node of the item to update. The parent cannot be updated using this method, use the move event item method to change the parent.

enabledbooleanOptionalWhether or not the item is enabled (default true)


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "event": {
      "id": "onAddUpdate",
      "rule": {
        "id": "AAABcQwxWUc=",
        ...
      }
    }
  }
}

Status: 200, 404, 406



Section

Delete single workflow event item

Delete a workflow event item from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

DELETE /aspire/_api/workflows/:id/:eventId/:parentId/:itemId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to use
eventIdstringRequiredThe identifier of the event to use
parentIdstringRequiredThe identifier of the node with the item to be deleted
itemIdintegerRequiredThe identifier of the item to delete


Response

Code Block
languagejs
{
  "message": "delete result response message"
}

Status: 200, 404, 406




Section

Move a workflow event item

Move a workflow event item from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/workflows/:id/move/:eventId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to use
eventIdstringRequiredThe identifier of the event to use


Body Parameters

NameTypeRequiredDescription
srcstringRequiredThe identifier of the event item to move
deststringRequiredThe identifier of the new parent for the moved item
orderIdintegerOptionalThe position (which in the children of the parent node) where this item should be inserted. For example 0 means at the beginning, in the case of using a number greater than the current number of children within the parent node the item will be inserted at the end. If no provided the item will be moved at the end of the children list of the new parent.


Response

Code Block
languagejs
{
  "message": "move result response message"
}

Status: 200, 404, 406




Section

Get workflow templates

Retrieve all workflow templates from Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id/templates


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to get the templates for


Response

Code Block
languagejs
{
  "template": [{
      "id": "AAABcQwrWUc",
      ...
    },
	  "id": "AAABcQwrWUd",
      ...
    }]
}

Status: 200, 404, 406




Section

Get single workflow template

Retrieve a single workflow templates from Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id/template/:templateId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to get the templates for
templateIdstringRequiredThe identifier of the template to get


Response

Code Block
languagejs
{
  "template": [{
      "id": "AAABcQwrWUc",
      ...
    }]
}

Status: 200, 404, 406




Section

Get single workflow rule

Get a single workflow rule from Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id/rule/:ruleId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to return rules for
ruleIdstringRequiredThe identifier of the rule to get


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "rule": {
      "id": "ddSWeq123",
      "description": "Some rule",
      "type": "application",
      ...
    }
  }
}

Status: 200, 404, 406

Section

Get workflow rules

Get workflow rules from Aspire, this endpoint need the at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/workflows/:id/rules


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to return rules for


Response

Code Block
languagejs
{
    "workflow": {
        "id": "72022651-c2f4-45a9-9e18-2b0ace529cda",
        "type": "connector",
        "description": "Test Workflow",
        "checksum": "2b8dc08a2da838304528b4695109e2379da9a670c5a195dcd27355e8daa20a8b",
        "rules": {
            "5d1273b8-9dc0-4f6d-89f3-fe6f331a6067": {
                "appName": "Publish_To_File",
                "config": "com.accenture.aspire:app-publish-to-file",
                "type": "application",
                "description": "Publish to File",
                "properties": {
                    "debug": "false",
                    "logFileType": "true",
                    "logFile": "${app.name}/publishToFile.jobs",
                    "numJobs": 5
                },
                "id": "5d1273b8-9dc0-4f6d-89f3-fe6f331a6067"
            }
        }
    }
}

Status: 200, 404, 406



Section

Create a workflow rule

Create a single workflow rule in Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/workflows/:id/rules


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to create a rule for


Body Parameters

The request body parameters will differ depending on the type of rule created.

Rule TypeParameter NameParameter TypeRequiredDescription
applicationtypestringRequiredThe rule type, in the case of application the value must be "application"

descriptionstringRequiredThe rule description. Any spaces will be replaced with "_" after creation

configstringRequiredThe maven coordinates of the rule application

propertiesobjectOptionalA nested JSON object that contains any additional property required by the application. The properties will vary depending of the application.

enabledbooleanOptionalWhether or not the rule is enabled (default true)

*appTypestringOptionalThis field is only required if Aspire will be used with the UI. This field is used to associate the rule to the proper dxf from the resource manager

*_typestringOptionalThis field is only required if Aspire will be used with the UI.
templatetypestringRequiredThe rule type, in the case of rules based on templates, type must match the type of the template, for example if the template type is "choice" the rule type also must be "choice"

templatestringRequiredThe id of the template to use for the rule

propertiesobjectOptionalA nested JSON object that contains any additional property required by the template. The properties will vary depending of the template.

enabledbooleanOptionalWhether or not the rule is enabled (default true)
customtypestringRequiredThe rule type, in the case of custom rules the value must be "custom"

descriptionstringRequiredThe rule description. Any spaces will be replaced with "_" after creation

scriptstringRequiredThe custom groovy script to execute.


Optionally you may opt to add the created rule to a workflow event by adding the following query parameters

Parameter NameParameter TypeRequiredDescription
parentIdstringOptionalThe identifier of the node in to which the item should be inserted. Defaults to the root node
orderIdintegerOptionalThe position (which in the children of the parent node) where this reference should be inserted


Response when parentId used

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "event": {
      "id": "onAddUpdate",
      "rule": {
        "id": "ddSWeq123",
        "description": "Some rule",
        "type": "application",
        ...
      }
    }
  }
}


Response without parentId

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "rule": {
      "id": "ddSWeq123",
      "description": "Some rule",
      "type": "application",
      ...
    }
  }
}

Status: 200, 404, 406




Section

Update single workflow rule

Updatee a single workflow rule in Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/workflows/:id/rule/:ruleId


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the workflow to update a rule for
ruleIdstringRequiredThe identifier of the rule to update


Body Parameters

The request body parameters will differ depending on the type of rule created. See Create a workflow rule above


Response

Code Block
languagejs
{
  "workflow": {
    "id": "AAABcIueWUc=",
    "description": "Publish to Elasticsearch"
    "rule": {
      "id": "ddSWeq123",
      "description": "Some rule",
      "type": "application",
      ...
    }
  }
}

Status: 200, 404, 406




Section

Delete single workflow rule

Deletes a single workflow rule from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

DELETE /aspire/_api/workflows/:id/rule/:ruleId


Path Parameters

NameTypeRequiredDescription
idstringRequired

The identifier of the workflow from which to delete rule(s) 

ruleIdstringRequiredThe identifier of the rule to delete


Response

Code Block
languagejs
{
  "message": "delete result response message"
}

Status: 200, 404, 406

Section

Delete workflow rules

Deletes a single workflow rule from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

DELETE /aspire/_api/workflows/:id/rules


Path Parameters

NameTypeRequiredDescription
idstringRequired

The identifier of the workflow from which to delete rule(s) 


Query Parameters

NameTypeRequiredDescription
idstringRequired

One or more rule ids to be deleted


Response

Code Block
languagejs
{
  "message": "delete result response message"
}

Status: 200, 404, 406