Meandre Infrastructure Web API v. 1.4

This page contains the description of the REST interface to the Meandre Infrastructure version 1.4

1. Introduction

The Meandre infrastructure has the ability to expose its functionality via a web-based Application Programming Interface (API). This document is a reference for that functionality, and aims to serve as a reference for developers building tools that communicate to the Meandre infrastructure.

Web APIs come in a several styles. Some require users to pass chunks of XML data back and forth, but most use a simple method known as the RESTful approach. REST stands for Representational State Transfer, a process that uses URLs as "interfaces" for reading and writing information to a service. Meandre core webservices rely heavily on the REST approach.

When parameters are provided, multiple addition of the parameters produce the execution of the service for each of the provided elements. That is, if a rest command requires parameter X, passing ?X=value1&X=value2... will trigger the service to loop through the values, providing and aggregated response as a result.

Responses can be classified in two types:

  • Responses that return RDF
  • Responses that return non RDF information

RDF responses support three dialects: RDF/XML, TTL, and N-TRIPLE. That is, for a given request, the <format> extension controls what format the response is it going to be in. If the <format> is specified as rdf, ttl, or nt, it will return, respectively, RDF/XML, TTL, or N-TRIPLE. Non RDF responses have also been standardized and supports four formats: JSON, plain text, XML, and HTML---noted as json, txt, xml, html. HTML format is provided by rendering convenience on the browser to provide a light weight interface to the infrastructure. The HTML interface won't be discussed in this section, since detailed information can be found on the Meandre Infrastructure HTML interface v. 1.4 page. For each of the other formats responses has been standardized as follows:

JSON response schema example
[
 {"key":"value",...\},
 {"key":"value",...\}
]
TXT response schema example
key = value
key = value
...

key = value
key = value
...

XML response example
<meandre_response>
   <meandre_item>
      <key>value</key>
      <key>value</key>
      ...
   </meandre_item>
   <meandre_item>
      <key>value</key>
      <key>value</key>\
      ...
   </meandre_item>
   ...
</meandre_response>

The remainder of this document gives descriptions of the available Meandre web services.

2. About requests

The about requests provide information about the Meandre infrastructure.

2.1 version

Description Returns the version of the Meandre infrastructure.
URL http://<meandre_host>:<meandre_port>/services/about/installation.<format>
Method GET
Since 1.4.0 vcli (Sara)
Role required none
Formats json, txt, xml, html
Parameters none
JSON response example
{"version":"1.4.0-vcli-alpha"}
TXT response example
version = 1.4.0-vcli-alpha
XML response example
<meandre_response>
   <meandre_item>
     <version>1.4.0-vcli-alpha</version>
   </meandre_item>
</meandre_response>

2.2 plugins

Description Returns Meandre plugin information. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/about/plugins.<format>
Method GET
Since 1.1vcli (Carquinyoli) renamed to plugins on 1.4 vcli
Role required none
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "key":"JARTOOL",
   "className":"org.meandre.plugins.tools.JarToolServlet",
   "isServlet":"true","alias":"/plugins/jar/*"
 },
 {
   "key":"VFS",
   "className":"org.meandre.plugins.vfs.VFSServlet",
   "isServlet":"true",
   "alias":"/plugins/vfs/*"
 }
]
TXT response example
 isServlet = true
 alias = /plugins/jar/*
 key = JARTOOL
 className = org.meandre.plugins.tools.JarToolServlet

 isServlet = true
 alias = /plugins/vfs/*
 key = VFS
 className = org.meandre.plugins.vfs.VFSServlet
XML response example
<meandre_response>
   <meandre_item>
       <key>JARTOOL</key>
       <className>org.meandre.plugins.tools.JarToolServlet</className>
       <isServlet>true</isServlet>
       <alias>/plugins/jar/*</alias>
   </meandre_item>
   <meandre_item>
      <key>VFS</key>
      <className>org.meandre.plugins.vfs.VFSServlet</className>
      <isServlet>true</isServlet>
      <alias>/plugins/vfs/*</alias>
   </meandre_item>
</meandre_response>

2.3 installation

Description Returns Meandre installation information. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/about/installation.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
  {
    "MEANDRE_VERSION":"1.4.0-vcli-alpha",
    "DB_URL":"jdbc:derby:./MeandreStore;create=true;logDevice=./MeandreStore",
    "MEANDRE_RIGHTS":"All rights reserved by DITA, NCSA, UofI (2007-2008). THIS SOFTWARE IS PROVIDED UNDER University of Illinois/NCSA OPEN SOURCE LICENSE.",
    "DB_USER":"",
    "DB":"Derby",
    "MEANDRE_STORE_CONFIG_FILE":"./meandre-config-store.xml",
    "CURRENT_SESSION_ID":"gh5bekzjsm89",
    "DB_DRIVER_CLASS":"org.apache.derby.jdbc.EmbeddedDriver",
    "CURRENT_TIME":"Wed Nov 26 13:46:37 CST 2008",
    "MEANDRE_ADMIN_USER":"admin",
    "DB_PASSWD":"",
    "MEANDRE_AUTHENTICATION_REALM_FILENAME":"./meandre-realm.properties",
    "CURRENT_USER_LOGGED_IN":"admin"
  }
]
TXT response example
DB_PASSWD =
MEANDRE_STORE_CONFIG_FILE = ./meandre-config-store.xml
DB_USER =
CURRENT_USER_LOGGED_IN = admin
DB = Derby
MEANDRE_AUTHENTICATION_REALM_FILENAME = ./meandre-realm.properties
MEANDRE_VERSION = 1.4.0-vcli-alpha
CURRENT_SESSION_ID = gh5bekzjsm89
CURRENT_TIME = Wed Nov 26 13:41:48 CST 2008
MEANDRE_ADMIN_USER = admin
DB_URL = jdbc:derby:./MeandreStore;create=true;logDevice=./MeandreStore
MEANDRE_RIGHTS = All rights reserved by DITA, NCSA, UofI (2007-2008). THIS SOFTWARE IS PROVIDED UNDER University of Illinois/NCSA OPEN SOURCE LICENSE.
DB_DRIVER_CLASS = org.apache.derby.jdbc.EmbeddedDriver
XML response example
<meandre_response>
   <meandre_item>
     <MEANDRE_VERSION>1.4.0-vcli-alpha</MEANDRE_VERSION>
     <DB_URL>jdbc:derby:./MeandreStore;create=true;logDevice=./MeandreStore</DB_URL>
     <MEANDRE_RIGHTS>All rights reserved by DITA, NCSA, UofI (2007-2008).
                     THIS SOFTWARE IS PROVIDED UNDER University of Illinois/NCSA
                     OPEN SOURCE LICENSE.</MEANDRE_RIGHTS>
     <DB_USER></DB_USER>
     <DB>Derby</DB>
     <MEANDRE_STORE_CONFIG_FILE>./meandre-config-store.xml</MEANDRE_STORE_CONFIG_FILE>
     <CURRENT_SESSION_ID>gh5bekzjsm89</CURRENT_SESSION_ID>
     <DB_DRIVER_CLASS>org.apache.derby.jdbc.EmbeddedDriver</DB_DRIVER_CLASS>
     <CURRENT_TIME>Wed Nov 26 13:42:51 CST 2008</CURRENT_TIME>
     <MEANDRE_ADMIN_USER>admin</MEANDRE_ADMIN_USER>
     <DB_PASSWD></DB_PASSWD>
     <MEANDRE_AUTHENTICATION_REALM_FILENAME>./meandre-realm.properties</MEANDRE_AUTHENTICATION_REALM_FILENAME>
     <CURRENT_USER_LOGGED_IN>admin</CURRENT_USER_LOGGED_IN>
   </meandre_item>
</meandre_response>

2.4 valid_roles

Description Returns the list of valid roles that can be assigned to a user. Does require authentication
URL http://<meandre_host>:<meandre_port>/services/about/valid_roles.<format>
Method GET
Since 1.4.0 vcli
Role required none
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "meandre_role_name":"Publish",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Publish"
 },
 {
   "meandre_role_name":"Flows",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Flows"
 },
 {
   "meandre_role_name":"Home",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Home"
 },
 {
   "meandre_role_name":"Repository",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Repository"
 },
 {
   "meandre_role_name":"Components",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Components"
 },
 {
   "meandre_role_name":"Execution",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Execution"
 },
 {
   "meandre_role_name":"Admin",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Admin"
 },
 {
   "meandre_role_name":"Workbench",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Workbench"
 },
 {
  "meandre_role_name":"Profile",
  "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Profile"
 },
 {
   "meandre_role_name":"Credits",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Credits"
 }
]
TXT response example
meandre_role_name = Publish
meandre_role_uri = http://www.meandre.org/accounting/property/role/Publish

meandre_role_name = Flows
meandre_role_uri = http://www.meandre.org/accounting/property/role/Flows

meandre_role_name = Home
meandre_role_uri = http://www.meandre.org/accounting/property/role/Home

meandre_role_name = Repository
meandre_role_uri = http://www.meandre.org/accounting/property/role/Repository

meandre_role_name = Components
meandre_role_uri = http://www.meandre.org/accounting/property/role/Components

meandre_role_name = Execution
meandre_role_uri = http://www.meandre.org/accounting/property/role/Execution

meandre_role_name = Admin
meandre_role_uri = http://www.meandre.org/accounting/property/role/Admin

meandre_role_name = Workbench
meandre_role_uri = http://www.meandre.org/accounting/property/role/Workbench

meandre_role_name = Profile
meandre_role_uri = http://www.meandre.org/accounting/property/role/Profile

meandre_role_name = Credits
meandre_role_uri = http://www.meandre.org/accounting/property/role/Credits

XML response example
<meandre_response>
   <meandre_item>
     <meandre_role_name>Publish</meandre_role_name>
     <meandre_role_uri>http://www.meandre.org/accounting/property/role/Publish</meandre_role_uri>
   </meandre_item>
   <meandre_item>
     <meandre_role_name>Flows</meandre_role_name>
     <meandre_role_uri>http://www.meandre.org/accounting/property/role/Flows</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Home</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Home</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Repository</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Repository</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Components</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Components</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Execution</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Execution</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Admin</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Admin</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Workbench</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Workbench</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Profile</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Profile</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Credits</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Credits</meandre_role_uri>
   </meandre_item>
</meandre_response>

2.5 user_roles

Description Returns the current list of roles assign to the authenticated user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/about/user_roles.<format>
Method GET
Since 1.4.0 vcli
Role required none
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "meandre_role_name":"Flows",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Flows"
 },
 {
   "meandre_role_name":"Execution",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Execution"
 }
]
TXT response example
meandre_role_name = Flows
meandre_role_uri = http://www.meandre.org/accounting/property/role/Flows

meandre_role_name = Execution
meandre_role_uri = http://www.meandre.org/accounting/property/role/Execution

XML response example
<meandre_response>
   <meandre_item>
     <meandre_role_name>Flows</meandre_role_name>
     <meandre_role_uri>http://www.meandre.org/accounting/property/role/Flows</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Execution</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Execution</meandre_role_uri>
   </meandre_item>
</meandre_response>

3. Location requests

Allow the user to manage and query the set of locations used to build the Meandre repository.

3.1 list

Description Returns the Meandre list of current locations used to assemble the repository. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/locations/list.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "description":"The locally published components",
   "location":"http://demo.seasr.org:1714/public/services/repository.nt"
 }
]
TXT response example
location = http://demo.seasr.org:1714/public/services/repository.nt
description = The locally published components
XML response example
<meandre_response>
   <meandre_item>
      <description>The locally published components</description>
      <location>http://demo.seasr.org:1714/public/services/repository.nt</location>
   </meandre_item>
</meandre_response>

3.2 add

Description Adds a new location to the Meandre list of current locations used to assemble the repository. Does require authentication.If the location can be added correctly, the call returns the new location information. If the call fails to add a location, it returns a bad request error code. If the location already exists, the call updates the description and returns the new location information
URL http://<meandre_host>:<meandre_port>/services/locations/list.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters location (Required. The new location URL to add. Location needs to be in a supported RDF dialect)
description (Required. The URL description)
JSON response example
[
 {
  "location" : "http://localhost:1714/public/services/demo_repository.ttl",
  "description" : "Demo repository"
 }
]
TXT response example
location = http://localhost:1714/public/services/demo_repository.ttl
description = Demo repository
XML response example
<meandre_response>
 <meandre_item>
   <location>http://localhost:1714/public/services/demo_repository.ttl</location>
   <description>Demo repository</description>
 </meandre_item>
</meandre_response>

3.3. remove

Description Removes a location from the Meandre list of current locations used to assemble the repository. Does require authentication. If the location can be removed correctly, the call returns the location removed. If the call fails to remove a location it returns a bad precondition error code.
URL http://<meandre_host>:<meandre_port>/services/locations/remove.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters location (Required. The location URL to remove. Location needs to be in a supported RDF dialect)
JSON response example
[
 {
  "location" : "http://localhost:1714/public/services/demo_repository.ttl"
 }
]
TXT response example
location = http://localhost:1714/public/services/demo_repository.ttl
XML response example
<meandre_response>
   <meandre_item>
      <location>http://localhost:1714/public/services/demo_repository.ttl</location>
   </meandre_item>
</meandre_response>

4. Repository requests

Allow the user to query the Meandre repository of published components by the running instance. Does require authentication. There is only one public repository per Meandre running instance.

4.1 dump

Description Returns the Meandre repository of components for the current logged user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/dump.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats rdf, ttl, nt
Parameters none
RDF/XML response example
<rdf:RDF>
   <j.0:data_connector_configuration rdf:about="meandre://test.org/flow/test-hello-world-with-python-and-lisp/connector/4">
      <j.0:connector_instance_data_port_source>
          <j.0:data_port rdf:about="meandre://test.org/component/pass-through/output/string">
              <dc:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The converted string</dc:description>
...
TTL response example
<meandre://test.org/flow/test-hello-world-with-python-and-lisp/connector/4>
      <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
              <http://www.meandre.org/ontology/data_connector_configuration> ;
      <http://www.meandre.org/ontology/connector_instance_data_port_source>
...

4.2 regenerate

Description Regenerates the user Meandre repository based on user listed locations. Components and flows not present on those locations are not removed/modified. Does require authentication. If the operation succeeds, it returns plain text containing "Repository successfully regenerated"
URL http://<meandre_host>:<meandre_port>/services/repository/regenerate.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "message":"Repository successfully regenerated"
 }
]
TXT response example
message = Repository successfully regenerated
XML response example
<meandre_response>
   <meandre_item>
     <message>Repository successfully regenerated</message>
   </meandre_item>
</meandre_response>

4.3 list_components

Description Lists all available Meandre components for the requesting user, each stated with a Meandre URI. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/list_components.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters order (Optional The sort order in which the flows should be returned: 'date' or 'name')
limit (Optional Maximum number of results to return)
JSON response example
[
 {
   "meandre_uri_name":"Concatenate Strings",
   "description":"Concatenates the to input string to the output",
   "meandre_uri":"meandre://test.org/component/concatenate-strings"
 },
 {
   "meandre_uri_name":"To Uppercase",
   "description":"Turns the input string into an upper case and pushes it to the output",
   "meandre_uri":"meandre://test.org/component/to-uppercase"
 },
 ...
]
TXT response example
meandre_uri = meandre://test.org/component/concatenate-strings
meandre_uri_name = Concatenate Strings
description = Concatenates the to input string to the output

meandre_uri = meandre://test.org/component/to-uppercase
meandre_uri_name = To Uppercase
description = Turns the input string into an upper case and pushes it to the output

...
XML response example
<meandre_response>
   <meandre_item>
     <meandre_uri_name>Concatenate Strings</meandre_uri_name>
     <description>Concatenates the to input string to the output</description>
     <meandre_uri>meandre://test.org/component/concatenate-strings</meandre_uri>
   </meandre_item>
   <meandre_item>
     <meandre_uri_name>To Uppercase</meandre_uri_name>
     <description>Turns the input string into an upper case and pushes it to the output</description>
     <meandre_uri>meandre://test.org/component/to-uppercase</meandre_uri>
   </meandre_item>
   ...
</meandre_response

4.4 list_flows

Description Lists the available Meandre flows for the requesting user, each stated with a Meandre URI. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/list_flows.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters order (Optional The sort order in which the flows should be returned: 'date' or 'name')
limit (Optional Maximum number of results to return)
JSON response example
[
 {
  "meandre_uri_name":"Hello World With Java, Python, and Lisp Components!!!",
  "description":"A simple hello world test",
  "meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"
 }
]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
meandre_uri_name = Hello World With Java, Python, and Lisp Components!!!
description = A simple hello world test
XML response example
<meandre_response>
   <meandre_item>
      <meandre_uri_name>Hello World With Java, Python, and Lisp Components!!!</meandre_uri_name>
      <description>A simple hello world test</description>
      <meandre_uri>meandre://test.org/flow/test-hello-world-with-python-and-lisp/</meandre_uri>
   </meandre_item>
</meandre_response>

4.5 tags

Description Lists all the available Meandre tags for the requesting user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/tags.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"meandre_tag":"fork"},
 {"meandre_tag":"object"},
 {"meandre_tag":"string"},
 {"meandre_tag":"hello_world"},
 ...
]
TXT response example
meandre_tag = fork

meandre_tag = object

meandre_tag = string

meandre_tag = hello_world

...
XML response example
<meandre_response>
   <meandre_item>
      <meandre_tag>fork</meandre_tag>
   </meandre_item>
   <meandre_item>
      <meandre_tag>object</meandre_tag>
   </meandre_item>
   <meandre_item>
      <meandre_tag>string</meandre_tag>
   </meandre_item>
   <meandre_item>
      <meandre_tag>hello_world</meandre_tag>
   </meandre_item>
   ...
</meandre_response>

4.6 tags_components

Description Lists the available Meandre components tags for the requesting user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/tags_components.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"meandre_tag":"fork"},
 {"meandre_tag":"object"},
 ...
]
TXT response example
meandre_tag = fork

meandre_tag = object

...
XML response example
<meandre_response>
   <meandre_item>
      <meandre_tag>fork</meandre_tag>
   </meandre_item>
   <meandre_item>
      <meandre_tag>object</meandre_tag>
   </meandre_item>
   ...
</meandre_response>

4.7 tags_flows

Description Lists the available Meandre flow tags for the requesting user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/tags_flows.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"meandre_tag":"hello_world"},
 {"meandre_tag":"demo"}
]
TXT response example
meandre_tag = hello_world

meandre_tag = demo
XML response example
<meandre_response>
   <meandre_item>
       <meandre_tag>hello_world</meandre_tag>
   </meandre_item>
   <meandre_item>
       <meandre_tag>demo</meandre_tag>
   </meandre_item>
</meandre_response>

4.8 components_by_tag

Description Returns the list of Meandre components for the requesting user that match the query tag issued. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/components_by_tag.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters tag (Required The tag)
JSON response example using ?tag=object
[
 {
   "meandre_uri_name":"Print Object",
   "description":"Prints the object in the input to the standard output",
   "meandre_uri":"meandre://test.org/component/print-object"
 }
]
TXT response example using ?tag=object
meandre_uri = meandre://test.org/component/print-object
meandre_uri_name = Print Object
description = Prints the object in the input to the standard output
XML response example using ?tag=object
<meandre_response>
   <meandre_item>
      <meandre_uri_name>Print Object</meandre_uri_name>
      <description>Prints the object in the input to the standard output</description>
      <meandre_uri>meandre://test.org/component/print-object</meandre_uri>
   </meandre_item>
</meandre_response>

4.9 flows_by_tag

Description Returns the list of Meandre flows for the requesting user that match the query tag issued. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/flows_by_tag.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters tag (Required The tag)
JSON response example using ?tag=demo
[
 {
  "meandre_uri_name":"Hello World With Java, Python, and Lisp Components!!!",
  "description":"A simple hello world test",
  "meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"
 }
]
TXT response example using ?tag=demo
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
meandre_uri_name = Hello World With Java, Python, and Lisp Components!!!
description = A simple hello world test
XML response example using ?tag=demo
<meandre_response>
   <meandre_item>
     <meandre_uri_name>Hello World With Java, Python, and Lisp Components!!!</meandre_uri_name>
     <description>A simple hello world test</description>
     <meandre_uri>meandre://test.org/flow/test-hello-world-with-python-and-lisp/</meandre_uri>
   </meandre_item>
</meandre_response>

4.10 describe

Description Returns the RDF describing the requested Meandre component/flow that matches the provided URI for the requesting user. Does require authentication. Returns an empty model if the provided URI is not known for the current, assembled repository.
URL http://<meandre_host>:<meandre_port>/services/repository/describe.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats rdf, ttl, nt
Parameters uri (Required The URI of the requested component)
RDF response example using ?uri=meandre://test.org/flow/test-hello-world-with-python-and-lisp/
<rdf:RDF>
    <meandre:instance_configuration rdf:about="meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/to-uppercase/3">
    <meandre:instance_resource rdf:resource="meandre://test.org/component/to-uppercase"/>
    <meandre:instance_name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">To Uppercasde 0</meandre:instance_name>
    <dc:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Converts a strings to uppercase</dc:description>
...
TTL response example using ?uri=meandre://test.org/flow/test-hello-world-with-python-and-lisp/
@prefix meandre:  <http://www.meandre.org/ontology/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/to-uppercase/3>
      rdf:type meandre:instance_configuration ;
      dc:description "Converts a strings to uppercase"^^xsd:string ;
      meandre:instance_name
              "To Uppercasde 0"^^xsd:string ;
      meandre:instance_resource
              <meandre://test.org/component/to-uppercase> .
...

4.11 describe_component

Description Returns the RDF describing the requested Meandre component that matches the provided URI for the requesting user. Does require authentication. Returns an empty model if the provided URI is not known for the current, assembled repository.
URL http://<meandre_host>:<meandre_port>/services/repository/describe_component.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats rdf, ttl, nt
Parameters uri (Required The URI of the requested component)
RDF response example
<rdf:RDF>
   <meandre:property rdf:about="meandre://test.org/component/push-string/property/times">
   <meandre:key rdf:datatype="http://www.w3.org/2001/XMLSchema#string">times</meandre:key>
   <meandre:value rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</meandre:value>
   <dc:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Number of time to push the string</dc:description>
   </meandre:property>
...
TTL response example
@prefix meandre:  <http://www.meandre.org/ontology/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<meandre://test.org/component/push-string>
      rdf:type meandre:executable_component ;
      dc:creator "Xavier Llor&agrave;"^^xsd:string ;
      dc:date "2007-09-11T21:06:03"^^xsd:dateTime ;
      dc:description "Pushes the string stored into the properties to the output"^^xsd:string ;
      dc:format "java/class"^^xsd:string ;
      dc:rights "University of Illinois/NCSA open source license"^^xsd:string ;
...

4.12 describe_all_components

Description Returns the RDF describing all the available Meandre components for the requesting user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/describe_all_components.<format>
Method GET
Since 1.3.1vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats rdf, ttl, nt
Parameters none

Returns the same formated responses as other describe calls.

4.13 describe_flow

Description Returns the RDF describing the requested Meandre flow that matches the provided URI for the requesting user. Does require authentication. Returns an empty model if the provided URI is not known for the current, assembled repository.
URL http://<meandre_host>:<meandre_port>/services/repository/describe_component.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats rdf, ttl, nt
Parameters uri (Required The URI of the requested flow)
RDF response example using ?uri=meandre://test.org/flow/test-hello-world-with-python-and-lisp/
<rdf:RDF>
    <meandre:instance_configuration rdf:about="meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/to-uppercase/3">
    <meandre:instance_resource rdf:resource="meandre://test.org/component/to-uppercase"/>
    <meandre:instance_name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">To Uppercasde 0</meandre:instance_name>
    <dc:description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Converts a strings to uppercase</dc:description>
...
TTL response example using ?uri=meandre://test.org/flow/test-hello-world-with-python-and-lisp/
@prefix meandre:  <http://www.meandre.org/ontology/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/to-uppercase/3>
      rdf:type meandre:instance_configuration ;
      dc:description "Converts a strings to uppercase"^^xsd:string ;
      meandre:instance_name
              "To Uppercasde 0"^^xsd:string ;
      meandre:instance_resource
              <meandre://test.org/component/to-uppercase> .
...

4.14 describe_all_flows

Description Returns the RDF describing all the available Meandre flows for the requesting user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/describe_all_flows.<format>
Method GET
Since 1.3.1vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats rdf, ttl, nt
Parameters none

Returns the same formated responses as other describe calls.

4.15 search_components

Description Returns the list of Meandre components for the requesting user that match the user query issued. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/search_components.<format>
Method GET
Since 1.1vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters q (Required The query to search)
order (Optional The sort order in which the components should be returned: 'date' or 'name')
limit (Optional Maximum number of results to return)

Returns the same formated responses as other list calls.

4.16 search_flows

Description Returns the list of Meandre flow for the requesting user that match the user query issued. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/repository/search_flows.<format>
Method GET
Since 1.1vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters q (Required The query to search)
order (Optional The sort order in which the components should be returned: 'date' or 'name')
limit (Optional Maximum number of results to return)

Returns the same formated responses as other list calls.

4.17 remove

Description Removes a URI (component or flow) from the current user's Meandre repository. Does require authentication. If it succeeds, the call returns the URI; otherwise it returns an empty response.
URL http://<meandre_host>:<meandre_port>/services/repository/remove.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters uri (Required The URI of the requested component/flow)
JSON response example
[
 {"meandre_uri":"meandre://test.org/component/print-object"}
]
TXT response example
meandre_uri = meandre://test.org/component/print-object
XML response example
<meandre_response>
   <meandre_item>
      <meandre_uri>meandre://test.org/component/print-object</meandre-uri>
   </meandre_item>
</meandre_response>

4.18 add

Description Uploads a file containing a set of components and/or flows and adds them to the current user's Meandre repository. Does require authentication. This call also allows the user to upload multiple files at once. This is useful when creating upload forms containing multiple entries. The call return the list of added URIs (components and flows). If the repository RDF file contains things other than components, those elements are ignored.
URL http://<meandre_host>:<meandre_port>/services/repository/add.<format>
Method POST
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters repository (Required The multi part file containing the repository.)
_context_ (Optional The context files containing the implementation of the components.)
_embed_ (Optional If true, the provided uploaded contextes will be embedded into the RDF repository descriptors.)
_overwrite_ (Optional If true, overwrites any existing descriptor in the RDF repository.)
JSON response example
[
 {"meandre_uri":"meandre://test.org/component/concatenate-strings"},
 {"meandre_uri":"meandre://test.org/component/to-uppercase"}
]
TXT response example
meandre_uri = meandre://test.org/component/concatenate-strings

meandre_uri = meandre://test.org/component/to-uppercase

XML response example
<meandre_response>
   <meandre_item>
       <meandre_uri>meandre://test.org/component/concatenate-strings</meandre_uri>
   </meandre_item>
   <meandre_item>
     <meandre_uri>meandre://test.org/component/to-uppercase</meandre_uri>
   </meandre_item>
</meandre_response>

4.19 add_flow_description

Description Uploads a flow descriptor and adds it to the current user's Meandre repository. Does require authentication. This call can deal with descriptors containing multiple flow descriptors. This is useful when creating upload forms containing multiple entries. If the repository RDF file contains things other than components, those elements are ignored.
URL http://<meandre_host>:<meandre_port>/services/repository/add_flow_descriptors.<format>
Method POST
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters repository (Required The multi part file containing the repository.)
_overwrite_ (Optional If true, overwrites any existing descriptor in the RDF repository.)
JSON response example
[["meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"}]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
XML response example
<meandre_response>
   <meandre_item>
      <meandre_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
      </meandre_uri>
   </meandre_item>
</meandre_response>

4.20 clear

Description Removes all the components and flows from the requesting user repository. Does require authentication. If the operation succeeds, it returns plain text containing "Repository successfully emptied"
URL http://<meandre_host>:<meandre_port>/services/repository/clear.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Repository
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "message":"Repository successfully emptied"
 }
]
TXT response example
message = Repository successfully emptied
XML response example
<meandre_response>
   <meandre_item>
     <message>Repository successfully emptied</message>
   </meandre_item>
</meandre_response>

5. Public requests

The public requests are open wide request that do not require authentication. Anyone able to reach the server can invoke these requests

5.1 repository

Description Returns the Meandre repository of components (executable components and flow components) that has been published in this instance of the server. Does not require authentication.
URL http://<meandre_host>:<meandre_port>/public/services/repository.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required none
Formats rdf, ttl, nt
Parameters none

5.2 demo_repository

Description Returns a demo Meandre repository of components (executable components and flow components). This demo repository serves no practical purpose, but to show some of the basic capabilities of a data-intensive data flow architecture. Does not require authentication.
URL http://<meandre_host>:<meandre_port>/public/services/demo_repository.<format>
Method GET
Since 1.1vcli (Carquinyoli)
Role required none
Formats rdf, ttl, nt
Parameters none

5.3 ping

Description Given a ping request, returns a response with a pong message.
URL http://<meandre_host>:<meandre_port>/public/services/ping.<format>
Method GET
Since 1.4 vcli (Sara)
Role required none
Formats json, txt, xml, html
Parameters none
JSON response example
[{"message":"pong"}]
TXT response example
message = pong
XML response example
<meandre_response>
   <meandre_item>
      <message>pong</message>
   </meandre_item>
</meandre_response>

6. Publish requests

Allow the users with proper publishing role capabilities to publish and unpublish Meandre components and flows to the publicly available server repository.

6.1 publish

Description Publishes a component or flow from the user repository to the public repository. Does require authentication. The URI provided is the URI of the component of flow published. If the publishing succeeds, the call returns the URI. If the component or flow has already been published, the publishing action is aborted and and an empty result is returned.
URL http://<meandre_host>:<meandre_port>/services/publish/publish.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Publish
Formats json, txt, xml, html
Parameters uri (Required The URI of the component or flow to publish. This URI needs to exist on the users repository.)
JSON response example
[
 {"meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"}
]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
XML response example
<meandre_response>
   <meandre_item>
     <meandre_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </meandre_uri>
   </meandre_item>
</meandre_response>

6.2 publish_all

Description Publishes all components and flows from the user repository to the public repository. Does require authentication. If the component or flow has already been published, the publishing action is ignored .
URL http://<meandre_host>:<meandre_port>/services/publish/publish_all.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Publish
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"}
]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
XML response example
<meandre_response>
   <meandre_item>
     <meandre_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </meandre_uri>
   </meandre_item>
</meandre_response>

6.3 list_published

Description List the URI of the executable components and flows currently published and reachable via the public server repository.
URL http://<meandre_host>:<meandre_port>/services/publish/list_published.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Publish
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"}
]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
XML response example
<meandre_response>
   <meandre_item>
     <meandre_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </meandre_uri>
   </meandre_item>
</meandre_response>

6.4 unpublish

Description Unpublishes a component or flow from the user repository to the public repository. Does require authentication. The URI provided is the URI of the component of flow published. If the unpublishing succeeds, the call returns the URI. If the component or flow has already been unpublished or does not exist on the public repository, the unpublishing action is aborted and an empty result is returned.
URL http://<meandre_host>:<meandre_port>/services/publish/unpublish.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters uri (Required The URI of the component or flow to unpublish. This URI needs to exist on the public repository.)
JSON response example
[
 {"meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"}
]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
XML response example
<meandre_response>
   <meandre_item>
     <meandre_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </meandre_uri>
   </meandre_item>
</meandre_response>

6.5 unpublish_all

Description Unpublishes all components and flows from the public repository. Does require authentication. If the unpublishing succeeds, the call returns all the unpublished URI. If the component or flow has already been unpublished or does not exist on the public repository, the unpublishing action is skiped.
URL http://<meandre_host>:<meandre_port>/services/publish/unpublish_all.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"meandre_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/"}
]
TXT response example
meandre_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/
XML response example
<meandre_response>
   <meandre_item>
     <meandre_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </meandre_uri>
   </meandre_item>
</meandre_response>

7. Execute requests

7.1 flow

Description Executes a flow and returns the output of the execution console. Does require authentication. The output format differs on the amount of verbosity pushed to the console. The "txt" format is the most verbose, whereas "silent" just prints to the console whatever the flow prints to the standard output and to the standard error.
URL http://<meandre_host>:<meandre_port>/services/execute/flow.<format>
Method GET
Since 1.1 vcli (Carquinyoli)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats txt, silent
Parameters uri (Required The URI of the flow to execute. This URI needs to exist on the users repository.)
statistic (Optional If true, the final executions statistics are displayed.)
token (Optional A unique token to be assigned to this execution request.)
Silent execution without statistics
P1	HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.47701) HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.32113)
Verbose execution with statistics
Meandre Execution Engine version 1.4.0-vcli-alpha
All rights reserved by DITA, NCSA, UofI (2007-2008)
THIS SOFTWARE IS PROVIDED UNDER University of Illinois/NCSA OPEN SOURCE LICENSE.

Preparing flow: meandre://test.org/flow/test-hello-world-with-python-and-lisp/
Preparation completed correctly

Execution started at: 1715 on 2008-11-30T11:55:59
----------------------------------------------------------------------------
P1	HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.77781) HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.54600)
----------------------------------------------------------------------------
Execution finished at: 2008-11-30T11:56:00
Execution finished gracefully.
----------------------------------------------------------------------------

Flow execution statistics

Flow unique execution ID : meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067758686/800014543/
Flow state               : ended
Started at               : Sun Nov 30 11:55:59 CST 2008
Last update              : Sun Nov 30 11:56:00 CST 2008
Total run time (ms)      : 1006

	Executable components instance ID          : meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/print-object/5
	Executable components state                : disposed
	Times the executable components fired      : 1
	Accumulated executable components run time : 0
	Pieces of data pulled                      : 2
	Pieces of data pushed                      : 0
	Number of properties read                  : 1

	Executable components instance ID          : meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/pass-through/4
	Executable components state                : disposed
	Times the executable components fired      : 1
	Accumulated executable components run time : 0
	Pieces of data pulled                      : 2
	Pieces of data pushed                      : 1
	Number of properties read                  : 0

	Executable components instance ID          : meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/to-uppercase/3
	Executable components state                : disposed
	Times the executable components fired      : 1
	Accumulated executable components run time : 2
	Pieces of data pulled                      : 2
	Pieces of data pushed                      : 1
	Number of properties read                  : 0

	Executable components instance ID          : meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/concatenate_string/2
	Executable components state                : disposed
	Times the executable components fired      : 1
	Accumulated executable components run time : 0
	Pieces of data pulled                      : 5
	Pieces of data pushed                      : 1
	Number of properties read                  : 0

	Executable components instance ID          : meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/push-string/1
	Executable components state                : disposed
	Times the executable components fired      : 1
	Accumulated executable components run time : 0
	Pieces of data pulled                      : 0
	Pieces of data pushed                      : 1
	Number of properties read                  : 2

	Executable components instance ID          : meandre://test.org/flow/test-hello-world-with-python-and-lisp/instance/push-string/0
	Executable components state                : disposed
	Times the executable components fired      : 1
	Accumulated executable components run time : 0
	Pieces of data pulled                      : 0
	Pieces of data pushed                      : 1
	Number of properties read                  : 2


XML response example

7.2 list_running_flows

Description Lists the URIs of running flow instances and the URL to their associated webUI. All running flows, regardless of whether they have a webui to display or not, will be represented by ONE url in this list. The list contains the direct webui URL and the proxyed version by the server. The URL, if called, will return a page that automatically refreshes. As successive webui's are ready for display, they will appear on this page automatically. When the flow ends, the page will cease updating. In the case of no webui's in the flow, the page will display a message to that effect when first displayed.
URL http://<meandre_host>:<meandre_port>/services/execute/list_running_flows.<format>
Method GET
Since 1.1 vcli (Carquinyoli) — Added proxy information on 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
  "flow_instance_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/",
  "flow_instance_webui_uri": "http://<meandre_host>:<meandre_port_webui>/",
  "flow_instance_proxy_webui_uri": "http://<meandre_host>:<meandre_port>/webui/<meandre_port_webui>/",
  "flow_instance_proxy_webui_relative": "/webui/<meandre_port_webui>/"
 }
]
TXT response example
flow_instance_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
flow_instance_webui_uri = http://<meandre_host>:<meandre_port_webui>/
flow_instance_proxy_webui_uri = http://<meandre_host>:<meandre_port>/webui/<meandre_port_webui>/
flow_instance_proxy_webui_relative = /webui/<meandre_port_webui>/
XML response example
<meandre_response>
   <meandre_item>
     <flow_instance_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </flow_instance_uri>
     <flow_instance_webui_uri>
         http://<meandre_host>:<meandre_port_webui>/
     </flow_instance_webui_uri>
     <flow_instance_proxy_webui_uri>
         http://<meandre_host>:<meandre_port>/webui/<meandre_port_webui>/
     </flow_instance_proxy_webui_uri>
     <flow_instance_proxy_webui_relative>/webui/<meandre_port_webui>/</flow_instance_proxy_webui_relative>
   </meandre_item>
</meandre_response>

7.3 url

Description Returns the webUI information for an interactive flow currently being run on the server.
URL http://<meandre_host>:<meandre_port>/services/execute/url.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters uri (Required The flow instance uri target of the request.)
JSON response example
[
 {
  "flow_instance_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/",
  "flow_instance_webui_uri": "http://<meandre_host>:<meandre_port_webui>/",
  "flow_instance_proxy_webui_uri": "http://<meandre_host>:<meandre_port>/webui/<meandre_port_webui>/",
  "flow_instance_proxy_webui_relative": "/webui/<meandre_port_webui>/"
 }
]
TXT response example
flow_instance_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
flow_instance_webui_uri = http://<meandre_host>:<meandre_port_webui>/
flow_instance_proxy_webui_uri = http://<meandre_host>:<meandre_port>/webui/<meandre_port_webui>/
flow_instance_proxy_webui_relative = /webui/<meandre_port_webui>/
XML response example
<meandre_response>
   <meandre_item>
     <flow_instance_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </flow_instance_uri>
     <flow_instance_webui_uri>
         http://<meandre_host>:<meandre_port_webui>/
     </flow_instance_webui_uri>
     <flow_instance_proxy_webui_uri>
         http://<meandre_host>:<meandre_port>/webui/<meandre_port_webui>/
     </flow_instance_proxy_webui_uri>
     <flow_instance_proxy_webui_relative>/webui/<meandre_port_webui>/</flow_instance_proxy_webui_relative>
   </meandre_item>
</meandre_response>

7.4 web_component_url

Description Returns the URIs of the currently active fragments for the given executing flow
URL http://<meandre_host>:<meandre_port>/services/execute/web_component_url.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters uri (Required The flow instance uri target of the request.)
JSON response example
[
 {
  "flow_instance_uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/",
  "flow_instance_fragment_url": "meandre://test.org/component/print-object-web/instance/0"
 }
]
TXT response example
flow_instance_uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
flow_instance_fragment_url = meandre://test.org/component/print-object-web/instance/0
XML response example
<meandre_response>
   <meandre_item>
     <flow_instance_uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/
     </flow_instance_uri>
     <flow_instance_fragment_url>
         meandre://test.org/component/print-object-web/instance/0
     </flow_instance_fragment_url>
   </meandre_item>
</meandre_response>

7.5 uri_flow

Description Returns the webUI information for an interactive flow currently which has been assigned to a given token being run on the Server.
URL http://<meandre_host>:<meandre_port>/services/execute/uri_flow.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters token (Required The token associated to the flow instance target of the request.)
JSON response example
[
 {
  "uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/",
  "hostname": "<meandre_host>",
  "port": "<meandre_port_webui>",
  "token" :  "<token>"
 }
]
TXT response example
uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
hostname = <meandre_host>
port = <meandre_port_webui>
token = <token>
XML response example
<meandre_response>
   <meandre_item>
     <uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
     </uri>
     <hostname>meandre host</hostname>
     <port>meandre webui port</port>
     <token>token value</token>
   </meandre_item>
</meandre_response>

target of the request.) |

JSON response example
[
 {
  "uri":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/",
  "hostname": "<meandre_host>",
  "port": "<meandre_port_webui>",
  "token" :  "<token>"
 }
]
TXT response example
uri = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
hostname = <meandre_host>
port = <meandre_port_webui>
token = <token>
XML response example
<meandre_response>
   <meandre_item>
     <uri>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
     </uri>
     <hostname>meandre host</hostname>
     <port>meandre webui port</port>
     <token>token value</token>
   </meandre_item>
</meandre_response>

7.6 clean_uri_flow

Description Cleans all the token execution information left behind to help third party clients to get the unique flow ID of a running flow. This call cleans all the information for flows that have already finished execution.
URL http://<meandre_host>:<meandre_port>/services/execute/clean_uri_flow.<format>
Method GET
Since 1.4.5 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
  "token":"token_1",
  "token":"token_1",
 }
]
TXT response example
token = token_1

token = token_2
XML response example
<meandre_response>
   <meandre_item>
     <token>
         token_1
     </token>
   </meandre_item>
   <meandre_item>
     <token>
         token_2
     </token>
   </meandre_item>
</meandre_response>

7.7 repository

Description Executes all the flows on the uploaded repository. It returns the output of the execution console. Does require authentication. The output format differs on the amount of verbosity pushed to the console. The "txt" format is the most verbose, whereas "silent" just prints to the console whatever the flow prints to the standard output and to the standard error.
URL http://<meandre_host>:<meandre_port>/services/execute/repository.<format>
Method POST
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats txt, silent
Parameters repository (Required The repository to execute.)

8. Coordinator requests

The coordinator requests provide access to information information related to the Meandre Distributed Exchange Coordinator. This allows to monitor the behavior of a clustered server assembled by a set of Meandre servers

8.1 log

Description Returns the cluster log information. The contains an up-to-date view of the cluster status (I: initialized, R: running, U: unregistered, S: shutdown, D: dirty shutdown) and past events.
URL http://<meandre_host>:<meandre_port>/services/coordinator/log.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
    "local_user_name":"user",
    "java_vm_version":"1.5.0_16-133",
    "uptime":"1.22771984E12",
    "number_processors":"2",
    "status":"I",
    "port":"1714",
    "failed_updates":"0",
    "id":"8D8EDC2A6B2",
    "server_description":"Meandre Server 1.4.0-vcli-alpha",
    "os_arch":"i386",
    "java_vm_vendor":"Apple Inc.",
    "os_name":"Mac OS X",
    "ts":"2008-11-26 11:17:16.987",
    "memory_available":"66650112",
    "user_home":"/Users/user",
    "os_version":"10.5.5",
    "ip":"XX.XX.XX.XX",
    "server_name":"meandre_server_name",
    "java_version":"1.5.0_16"
 }
]
TXT response example
ts = 2008-11-26 11:17:16.987
user_home = /Users/user
local_user_name = user
java_vm_version = 1.5.0_16-133
memory_available = 66650112
ip = XX.XX.XX.XX
os_version = 10.5.5
port = 1714
java_version = 1.5.0_16
os_arch = i386
os_name = Mac OS X
id = 8D8EDC2A6B2
java_vm_vendor = Apple Inc.
status = I
server_name = meandre_server_name
uptime = 1.22771984E12
server_description = Meandre Server 1.4.0-vcli-alpha
number_processors = 2
failed_updates = 0
XML response example
<meandre_response>
   <meandre_item>
       <local_user_name>user</local_user_name>
       <java_vm_version>1.5.0_16-133</java_vm_version>
       <uptime>1.22771984E12</uptime>
       <number_processors>2</number_processors>
       <status>I</status>
       <port>1714</port>
       <failed_updates>0</failed_updates>
       <id>8D8EDC2A6B2</id>
       <server_description>Meandre Server 1.4.0-vcli-alpha</server_description>
       <os_arch>i386</os_arch>
       <java_vm_vendor>Apple Inc.</java_vm_vendor>
       <os_name>Mac OS X</os_name>
       <ts>2008-11-26 11:17:16.987</ts>
       <memory_available>66650112</memory_available>
       <user_home>/Users/user</user_home>
       <os_version>10.5.5</os_version>
       <ip>XX.XX.XX.XX</ip>
       <server_name>meandre_server_name</server_name>
       <java_version>1.5.0_16</java_version>
   </meandre_item>
</meandre_response>

8.2 status

Description Returns the cluster status information for each of the Meandre servers in a cluster (I: initialized, R: running, U: unregistered, S: shutdown, D: dirty shutdown). The contains an up-to-date view of the servers that form the cluster
URL http://<meandre_host>:<meandre_port>/services/coordinator/status.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
  "free_memory":"3615048.0",
  "previous_updated":"1228078103277",
  "ts":"2008-11-26 11:17:16.987",
  "uptime":"1.22736162E12",
  "status":"R",
  "updated":"1228078108280",
  "id":"8D8EDC2A6B2",
  "failed_updates":"0"
 }
]
TXT response example
status = R
updated = 1228078083267
uptime = 1.22736162E12
ts = 2008-11-26 11:17:16.987
free_memory = 3615048.0
failed_updates = 0
id = 8D8EDC2A6B2
previous_updated = 1228078078265
XML response example
<meandre_response>
   <meandre_item>
      <free_memory>3615048.0</free_memory>
      <previous_updated>1228078158308</previous_updated>
      <ts>2008-11-26 11:17:16.987</ts>
      <uptime>1.22736148E12</uptime>
      <status>R</status>
      <updated>1228078163311</updated>
      <id>8D8EDC2A6B2</id>
      <failed_updates>0</failed_updates>
   </meandre_item>
</meandre_response>

8.3 info

Description Returns the cluster information of the servers. The contains an up-to-date view of the servers information form the cluster.
URL http://<meandre_host>:<meandre_port>/services/coordinator/info.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
  "local_user_name":"user",
  "java_vm_version":"1.5.0_16-133",
  "number_processors":"2",
  "port":"1714","id":"8D8EDC2A6B2",
  "server_description":"Meandre Server 1.4.0-vcli-alpha",
  "os_arch":"i386",
  "java_vm_vendor":"Apple Inc.",
  "os_name":"Mac OS X",
  "memory_available":"66650112",
  "user_home":"/Users/user",
  "os_version":"10.5.5",
  "ip":"XX.XX.XX.XX",
  "server_name":"meandre server name",
  "java_version":"1.5.0_16"
 }
]
TXT response example
server_name = meandre server name
id = 8D8EDC2A6B2
java_vm_version = 1.5.0_16-133
number_processors = 2
port = 1714
user_home = /Users/user
os_name = Mac OS X
server_description = Meandre Server 1.4.0-vcli-alpha
java_version = 1.5.0_16
java_vm_vendor = Apple Inc.
ip = XX.XX.XX.XX
memory_available = 66650112
local_user_name = user
os_arch = i386
os_version = 10.5.5
XML response example
<meandre_response>
   <meandre_item>
      <local_user_name>user</local_user_name>
       <java_vm_version>1.5.0_16-133</java_vm_version>
       <number_processors>2</number_processors>
       <port>1714</port>
       <id>8D8EDC2A6B2</id>
       <server_description>Meandre Server 1.4.0-vcli-alpha</server_description>
       <os_arch>i386</os_arch>
       <java_vm_vendor>Apple Inc.</java_vm_vendor>
       <os_name>Mac OS X</os_name>
       <memory_available>66650112</memory_available>
       <user_home>/Users/user</user_home>
       <os_version>10.5.5</os_version>
       <ip>XX.XX.XX.XX</ip>
       <server_name>xmeandre server name</server_name>
       <java_version>1.5.0_16</java_version>
   </meandre_item>
</meandre_response>

8.4 property

Description Returns miscellaneous properties used by the Meandre server when working in clustered mode. This properties are regularly read an updated by a server.
URL http://<meandre_host>:<meandre_port>/services/coordinator/property.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
  "property_key":"MAX_UPDATE_FAILURES",
  "property_value":"5"
 },
 {
  "property_key":"HEARTBEAT_RATE",
   "property_value":"5000"
 }
]
TXT response example
property_value = 5
property_key = MAX_UPDATE_FAILURES

property_value = 5000
property_key = HEARTBEAT_RATE
XML response example
<meandre_response>
   <meandre_item>
       <property_key>MAX_UPDATE_FAILURES</property_key>
       <property_value>5</property_value>
   </meandre_item>
   <meandre_item>
       <property_key>HEARTBEAT_RATE</property_key>
       <property_value>5000</property_value>
   </meandre_item>
</meandre_response>

9. Job requests

Job requests provide access to the jobs running, pending, or completed for a given server.

9.1 list_jobs_statuses

Description List the jobs track by the Meandre server. Jobs status provide access to the flow instance uri, the time stamp of the last update, the server tracking the job, and the status of the job (C: completed, A: aborted, K: killed, R: running, U: unknown).
URL http://<meandre_host>:<meandre_port>/services/jobs/list_jobs_statuses.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
  "job_id":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/",
  "ts":"2008-11-30 11:56:17.493",
  "status":"R",
  "user_id":"admin",
  "server_id":"8D8EDC2A6B2"
 },
 {
  "job_id":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067758686/800014543/",
  "ts":"2008-11-30 11:56:00.392",
  "status":"C",
  "user_id":"admin",
  "server_id":"8D8EDC2A6B2"
 },
 {
  "job_id":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061829055/1574041471/",
  "ts":"2008-11-30 10:17:11.835",
  "status":"K",
  "user_id":"admin",
  "server_id":"8D8EDC2A6B2"
 },
 {
  "job_id":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061796206/2110140469/",
  "ts":"2008-11-30 10:16:37.701",
  "status":"A",
  "user_id":"admin",
  "server_id":"8D8EDC2A6B2"
 }
]
TXT response example
status = R
server_id = 8D8EDC2A6B2
user_id = admin
ts = 2008-11-30 11:56:17.493
job_id = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/

status = C
user_id = admin
server_id = 8D8EDC2A6B2
ts = 2008-11-30 11:56:00.392
job_id = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067758686/800014543/

status = K
server_id = 8D8EDC2A6B2
user_id = admin
ts = 2008-11-30 10:17:11.835
job_id = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061829055/1574041471/

status = A
server_id = 8D8EDC2A6B2
user_id = admin
ts = 2008-11-30 10:16:37.701
job_id = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061796206/2110140469/
XML response example
<meandre_response>
   <meandre_item>
      <job_id>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067775947/1537690961/
      </job_id>
      <user_id>admin</user_id>
      <ts>2008-11-30 11:56:17.493</ts>
      <status>C</status>
      <server_id>8D8EDC2A6B2</server_id>
   </meandre_item>
   <meandre_item>
      <job_id>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228067758686/800014543/
      </job_id>
      <user_id>admin</user_id>
      <ts>2008-11-30 11:56:00.392</ts>
      <status>C</status>
      <server_id>8D8EDC2A6B2</server_id>
   </meandre_item>
   <meandre_item>
      <job_id>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061829055/1574041471/
      </job_id>
      <user_id>admin</user_id>
      <ts>2008-11-30 10:17:11.835</ts>
      <status>C</status>
      <server_id>8D8EDC2A6B2</server_id>
   </meandre_item>
   <meandre_item>
      <job_id>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061796206/2110140469/
      </job_id>
      <user_id>admin</user_id>
      <ts>2008-11-30 10:16:37.701</ts>
      <status>A</status>
      <server_id>8D8EDC2A6B2</server_id>
   </meandre_item>
</meandre_response>

9.2 job_console

Description Returns the up-to-date console of a given flow instance. The console returns always the latest information collected so far.
URL http://<meandre_host>:<meandre_port>/services/jobs/job_console.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Execution
Formats json, txt, xml, html
Parameters uri (Required The flow instance uri of the targeted console output)
JSON response example
[
 {
  "job_id":"meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061829055/1574041471/",
  "console":"P1\tHELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.08987) HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.57984)"
 }
]
TXT response example
job_id = meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061829055/1574041471/
console = P1	HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.08987) HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.57984)
XML response example
<meandre_response>
    <meandre_item>
       <job_id>
         meandre://test.org/flow/test-hello-world-with-python-and-lisp/8D8EDC2A6B2/1228061829055/1574041471/
      </job_id>
      <console>
P1	HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.08987) HELLO WORLD!!! HAPPY MEANDRING!!! (P1,C0.57984)
      </console>
   </meandre_item>
</meandre_response>

10. Server requests

The server request deal with the management of a server. They tend to be irreversible and server administrators should pay special attention

10.1 shutdown

Description This request starts the shutdown process for a Meandre server. This will also remove the server from a Meandre cluster if running in cluster mode. This process is irreversible and once the server has been shutdown the server may need to be restarted manually. The response contains a simple message indicating that the shutdown process has started. You may use the public ping service to test for the finalization of the shutdown process.
URL http://<meandre_host>:<meandre_port>/services/server/shutdown.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 { "message":"Server shutting down now!!!" }
}
TXT response example
message = Server shutting down now!!!
XML response example
<meandre_response>
   <meandre_item>
      <message>Server shutting down now!!!</message>
   </meandre_item>
</meandre_response>

11. Security requests

The security requests are targeted for administrators. They allow the creation and deletion of users and granting/revoking roles to the users.

11.1 current_roles

Description Returns the roles assigned to the user making the request.
URL http://<meandre_host>:<meandre_port>/services/security/current_roles.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "meandre_role_name":"Publish",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Publish"
 },
 {
    "meandre_role_name":"Home",
    "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Home"
 },
 {
    "meandre_role_name":"Flows",
    "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Flows"
 },
 ...
]
TXT response example
meandre_role_name = Publish
meandre_role_uri = http://www.meandre.org/accounting/property/role/Publish

meandre_role_name = Home
meandre_role_uri = http://www.meandre.org/accounting/property/role/Home

meandre_role_name = Flows
meandre_role_uri = http://www.meandre.org/accounting/property/role/Flows

...
XML response example
<meandre_response>
   <meandre_item>
      <meandre_role_name>Publish</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Publish</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Home</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Home</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Flows</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Flows</meandre_role_uri>
   </meandre_item>
   ...
</meandre_response>

11.2 roles_of_user

Description Returns the list of Meandre roles assigned to the requesting user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/security/roles_of_user.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required The user name to check.)
JSON response example
[
 {
  "meandre_role_name":"Flows",
  "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Flows"
 },
 {
  "meandre_role_name":"Execution",
  "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Execution"
 }
]
TXT response example
meandre_role_name = Flows
meandre_role_uri = http://www.meandre.org/accounting/property/role/Flows

meandre_role_name = Execution
meandre_role_uri = http://www.meandre.org/accounting/property/role/Execution

XML response example
<meandre_response>
   <meandre_item>
      <meandre_role_name>Flows</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Flows</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Execution</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Execution</meandre_role_uri>
   </meandre_item>
</meandre_response>

11.3 users

Description Returns the list of all users with access to the Meandre server. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/security/users.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {"user_name":"admin","full_name":"Admin Istrator"},
 {"user_name":"demo","full_name":"Demo User"}
]
TXT response example
user_name = admin
full_name = Admin Istrator

user_name = demo
full_name = Demo User

XML response example
<meandre_response>
    <meandre_item>
      <user_name>admin</user_name>
      <full_name>Admin Istrator</full_name>
   </meandre_item>
   <meandre_item>
      <user_name>demo</user_name>
      <full_name>Demo User</full_name>
   </meandre_item>
</meandre_response>

11.4 user

Description Returns the information about the user specified as the parameter. Does require authentication
URL http://<meandre_host>:<meandre_port>/services/security/user.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required The user name to check.)
JSON response example
[{"user_name":"demo","full_name":"Demo User"}]
TXT response example
user_name = demo
full_name = Demo User

XML response example
<meandre_response>
   <meandre_item>
      <user_name>demo</user_name>
      <full_name>Demo User</full_name>
   </meandre_item>
</meandre_response>

11.5 valid_roles

Description Returns the list of all Meandre roles supported. Does require authentication. (Equivalent to the about valid_roles service)
URL http://<meandre_host>:<meandre_port>/services/security/valid_roles.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters none
JSON response example
[
 {
   "meandre_role_name":"Publish",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Publish"
 },
 {
   "meandre_role_name":"Flows",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Flows"
 },
 {
   "meandre_role_name":"Home",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Home"
 },
 {
   "meandre_role_name":"Repository",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Repository"
 },
 {
   "meandre_role_name":"Components",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Components"
 },
 {
   "meandre_role_name":"Execution",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Execution"
 },
 {
   "meandre_role_name":"Admin",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Admin"
 },
 {
   "meandre_role_name":"Workbench",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Workbench"
 },
 {
  "meandre_role_name":"Profile",
  "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Profile"
 },
 {
   "meandre_role_name":"Credits",
   "meandre_role_uri":"http://www.meandre.org/accounting/property/role/Credits"
 }
]
TXT response example
meandre_role_name = Publish
meandre_role_uri = http://www.meandre.org/accounting/property/role/Publish

meandre_role_name = Flows
meandre_role_uri = http://www.meandre.org/accounting/property/role/Flows

meandre_role_name = Home
meandre_role_uri = http://www.meandre.org/accounting/property/role/Home

meandre_role_name = Repository
meandre_role_uri = http://www.meandre.org/accounting/property/role/Repository

meandre_role_name = Components
meandre_role_uri = http://www.meandre.org/accounting/property/role/Components

meandre_role_name = Execution
meandre_role_uri = http://www.meandre.org/accounting/property/role/Execution

meandre_role_name = Admin
meandre_role_uri = http://www.meandre.org/accounting/property/role/Admin

meandre_role_name = Workbench
meandre_role_uri = http://www.meandre.org/accounting/property/role/Workbench

meandre_role_name = Profile
meandre_role_uri = http://www.meandre.org/accounting/property/role/Profile

meandre_role_name = Credits
meandre_role_uri = http://www.meandre.org/accounting/property/role/Credits

XML response example
<meandre_response>
   <meandre_item>
     <meandre_role_name>Publish</meandre_role_name>
     <meandre_role_uri>http://www.meandre.org/accounting/property/role/Publish</meandre_role_uri>
   </meandre_item>
   <meandre_item>
     <meandre_role_name>Flows</meandre_role_name>
     <meandre_role_uri>http://www.meandre.org/accounting/property/role/Flows</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Home</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Home</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Repository</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Repository</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Components</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Components</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Execution</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Execution</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Admin</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Admin</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Workbench</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Workbench</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Profile</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Profile</meandre_role_uri>
   </meandre_item>
   <meandre_item>
      <meandre_role_name>Credits</meandre_role_name>
      <meandre_role_uri>http://www.meandre.org/accounting/property/role/Credits</meandre_role_uri>
   </meandre_item>
</meandre_response>

11.6 grant_roles

Description Grants the specified Meandre role to the specified user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/security/grant_roles.<format>
Method GET
Since 1.4 vcli (Sara) — renamed from the 1.3 vcli (Xuixo) assign_roles
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required the user name given for the request)
role_name (Required the role given for the request)
JSON response example
[
 {
  "user_name":"demo",
  "full_name":"Demo User",
  "granted":"http://www.meandre.org/accounting/property/role/Publish"
 }
]
TXT response example
granted = http://www.meandre.org/accounting/property/role/Publish
user_name = demo
full_name = Demo User

XML response example
<meandre_response>
   <meandre_item>
      <user_name>demo</user_name>
      <full_name>Demo User</full_name>
      <granted>http://www.meandre.org/accounting/property/role/Publish</granted>
   </meandre_item>
</meandre_response>

11.7 revoke_roles

Description Removes the specified Meandre role from the specified user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/security/grant_roles.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required the user name given for the request)
role_name (Required the role given for the request)
JSON response example
[
 {
  "user_name":"demo",
  "full_name":"Demo User",
  "revoked":"http://www.meandre.org/accounting/property/role/Publish"
 }
]
TXT response example
revoked = http://www.meandre.org/accounting/property/role/Publish
user_name = demo
full_name = Demo User

XML response example
<meandre_response>
   <meandre_item>
      <user_name>demo</user_name>
      <full_name>Demo User</full_name>
      <revoked>http://www.meandre.org/accounting/property/role/Publish</revoked>
   </meandre_item>
</meandre_response>

11.8 create_users

Description Creates a new user with the specified user name, full name and password. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/security/create_users.<format>
Method GET
Since 1.4 vcli (Sara) — renamed from the 1.3 vcli (Xuixo) create_user
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required the user name given for the request)
user_full_name (Required the full user name given for the request)
password (Required the user's password)
JSON response example
[
 {
  "user_name" : "newuser",
  "full_name" : "New User"
 }
]
TXT response example
user_name = newuser
full_name = New User
XML response example
<meandre_response>
    <meandre_item>
        <user_name>newuser</user_name>
        <full_name>New User</full_name>
    </meandre_item>
</meandre_response>

11.9 remove_users

Description Creates a new user with the specified user name, full name and password. Does require authentication. If the operation fails, the response contains a message indicating the failure
URL http://<meandre_host>:<meandre_port>/services/security/remove_users.<format>
Method GET
Since 1.4 vcli (Sara) — renamed from the 1.3 vcli (Xuixo) remove_user
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required the user name given for the request)
user_full_name (Required the full user name given for the request)
password (Required the user's password)
JSON response example
[
 {
  "user_name" : "newuser",
  "full_name" : "New User"
 }
]
TXT response example
user_name = newuser
full_name = New User
XML response example
<meandre_response>
    <meandre_item>
        <user_name>newuser</user_name>
        <full_name>New User</full_name>
    </meandre_item>
</meandre_response>

11.10 update_users

Description Updates all the information of a given user with the provided version of the request.
URL http://<meandre_host>:<meandre_port>/services/security/update_users.<format>
Method GET
Since 1.4 vcli (Sara)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required the user name given for the request)
user_full_name (Required the full user name given for the request)
password (Required the user's password)
JSON response example
[
 {
  "user_name" : "newuser",
  "full_name" : "New User"
 }
]
TXT response example
user_name = newuser
full_name = New User
XML response example
<meandre_response>
    <meandre_item>
        <user_name>newuser</user_name>
        <full_name>New User</full_name>
    </meandre_item>
</meandre_response>

11.11 revoke_all_roles

Description Removes the Meandre roles for the specified user. Does require authentication.
URL http://<meandre_host>:<meandre_port>/services/security/revoke_all_roles.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required http://www.meandre.org/accounting/property/action/Admin
Formats json, txt, xml, html
Parameters user_name (Required the user name given for the request)
JSON response example
[
  {
    "revoked": "all",
    "user_name": "parrot",
    "full_name": "Joe Parrot"
  }
]
TXT response example
revoked = all
user_name = parrot
full_name = Joe Parrot

XML response example
<meandre_response>
    <meandre_item>
	<revoked>all</revoke>
	<user_name>parrot</user_name>
	<full_name>Joe Parrot</full_name>
    </meandre_item>
</meandre_response>

12. Running flow admin requests

Allow the user to query running flows in Meandre. These requests are made via the WebUI, not the Meandre core engine.

12.1 abort

Description Requires the running flow to abort its execution. This is not an instantaneous abort. The abort request is passed to the component, which will abort on the next firing event.
URL http://<meandre_host>:<webui_port>/admin/abort.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required none
Formats txt
Parameters none
TXT response example
Abort request dispatched...

12.2 statistics

Description Returns the current statistics of the running flow.
URL http://<meandre_host>:<webui_port>/admin/statistics.<format>
Method GET
Since 1.3 vcli (Xuixo)
Role required none
Formats json, txt, xml
Parameters none
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.