Skip to content

Rest API

Marco Rietveld edited this page Apr 26, 2014 · 77 revisions

The master/original for this documentation can be found here: droolsjbpm/droolsjbpm-integration/wiki/Rest-API

For the most up-to-date documentation, please see the latest Remote API chapter in the jBPM docs

The following information may be outdated, and is only provided as a convienence:

This space will also be used as a "scratch-pad" for working on and informing others about features in development.

Related pages

Table of Contents

URL layout

Community 6.0.1 release:

The following schema lays out the current REST API available via kie-remote:

http://server.address:port/{application-id}/rest/
  runtime
    {id: [a-zA-Z0-9-:\\.]+}              // {deploymentId}
      execute                            * execute the given command [POST] 
      process
        {id: [a-zA-Z0-9-:\\.]+}          // {process definition id}
          start                          * start process [POST] 
                                           - accepts query map parameters
        instance
          {id: [0-9]+}                   * process instance details (// {process instance id}) [GET]
            signal                       * signal event [POST] 
                                           - accepts query map parameters
            abort                        * abort process instance [POST]
            variables                    * get variables from process instance [GET]
        signal                           * signal event [POST] 
                                           - accepts query map parameters
        workitem
          {id: [0-9]+}                   * work item details (// {work item id}) [GET]
            complete                     * complete work item [POST]
                                           - accepts query map parameters
            abort                        * abort work item [POST]
        history
          clear                          * clear/delete all (process/variable/node) instance logs [POST]
          instances                      * get all process instance logs [GET]
            {id: [0-9]+}                 * get process instance log (// {process instance id}) [GET]
              child                      * get all child process instance logs [GET]
              node                       * get all node instance logs [GET]
                {id: [a-zA-Z0-9-:\\.]+}  // {node id}
                                         * get node instance log [GET] 
              variable                   * get all variable instances [GET]
                {id: [a-zA-Z0-9-:\\.]+}  // {variable id}
                                         * get variable instance log [GET] 
          process
            {id: [a-zA-Z0-9-:\\.]+}      * get process instance logs (// {process id}) [GET]
          variable
            {id: [a-zA-Z0-9-:\\.]+}      * get variable instance log with this name (// {variable id}) [GET]
              instances                  * get process instance(s) in which variable is used [GET]
              value    
                {id: [a-zA-Z0-9-:\\.]+}  * get variable instance log with this name and value (// {variable value}) [GET]
                  instances              * get process instance(s) for which variable has this name and value [GET]
                  

        withvars                         // The following operations return process instance 
                                         // as well as process variable information
          process
            {id: [a-zA-Z0-9-:\\.]+}      // {process definition id}
              start                      * start process [POST] 
                                           - accepts query map parameters
            instance
              {id: [0-9]+}               * process instance details (// {process instance id}) [GET]
                signal                   * signal event [POST] 
                                           - accepts query map parameters
  
  task
    execute                              * execute the given (task) command [POST] 
    content
      {id: [0-9]+}                       * return the (JAXB) content [GET]
    query                                * query tasks (list of JAXB TaskSummary instances returned) [GET] 
    {id: [0-9]+}                         * return (JAXB representation of the) task // {task id} [GET]
        activate                         * activate task (taskId as query param.. ) [POST] 
        claim                            * claim task [POST]
        claimnextavailable               * claim next available task [POST]
        complete                         * complete task [POST]
                                           - accepts query map parameters
        delegate                         * delegate task [POST]
                                           - takes a "targetEntityId" query parameter
        exit                             * exit task [POST]
        fail                             * fail task [POST]
        forward                          * forward task [POST]
                                           - takes a "targetEntityId" query parameter
        release                          * release task [POST]
        resume                           * resume task [POST]
        skip                             * skip task [POST]
        start                            * start task [POST]
        stop                             * stop task [POST]
        suspend                          * suspend task [POST]
        nominate                         * nominate task [POST]
                                           - takes "user" and "group" parameters
           
        content                          * return (a JAXB representation of the) task content [GET]

BPMS 6.0.1 release:

http://server.address:port/{application-id}/rest/
  runtime
    {id: [a-zA-Z0-9-:\\.]+}              // {deploymentId}
      execute                            * execute the given command [POST] 
      process
        {id: [a-zA-Z0-9-:\\.]+}          // {process definition id}
          start                          * start process [POST] 
                                           - accepts query map parameters
        instance
          {id: [0-9]+}                   * process instance details (// {process instance id}) [GET]
            signal                       * signal event [POST] 
                                           - accepts query map parameters
            abort                        * abort process instance [POST]
            variables                    * get variables from process instance [GET]
        signal                           * signal event [POST] 
                                           - accepts query map parameters
        workitem
          {id: [0-9]+}                   * work item details (// {work item id}) [GET]
            complete                     * complete work item [POST]
                                           - accepts query map parameters
            abort                        * abort work item [POST]
        history
          clear                          * clear/delete all (process/variable/node) instance logs [POST]
          instances                      * get all process instance logs [GET]
            {id: [0-9]+}                 * get process instance log (// {process instance id}) [GET]
              child                      * get all child process instance logs [GET]
              node                       * get all node instance logs [GET]
                {id: [a-zA-Z0-9-:\\.]+}  // {node id}
                                         * get node instance log [GET] 
              variable                   * get all variable instances [GET]
                {id: [a-zA-Z0-9-:\\.]+}  // {variable id}
                                         * get variable instance log [GET] 
          process
            {id: [a-zA-Z0-9-:\\.]+}      * get process instance logs (// {process id}) [GET]
          variable
            {id: [a-zA-Z0-9-:\\.]+}      * get variable instance log with this name (// {variable id}) [GET]
              instances                  * get process instance(s) in which variable is used [GET]
              value    
                {id: [a-zA-Z0-9-:\\.]+}  * get variable instance log with this name and value (// {variable value}) [GET]
                  instances              * get process instance(s) for which variable has this name and value [GET]
                  

        withvars                         // The following operations return process instance 
                                         // as well as process variable information
          process
            {id: [a-zA-Z0-9-:\\.]+}      // {process definition id}
              start                      * start process [POST] 
                                           - accepts query map parameters
            instance
              {id: [0-9]+}               * process instance details (// {process instance id}) [GET]
                signal                   * signal event [POST] 
                                           - accepts query map parameters
  
  task
    execute                              * execute the given (task) command [POST] 
    content
      {id: [0-9]+}                       * return the (JAXB) content [GET]
    query                                * query tasks (list of JAXB TaskSummary instances returned) [GET] 
    {id: [0-9]+}                         * return (JAXB representation of the) task // {task id} [GET]
        activate                         * activate task (taskId as query param.. ) [POST] 
        claim                            * claim task [POST]
        claimnextavailable               * claim next available task [POST]
        complete                         * complete task [POST]
                                           - accepts query map parameters
        delegate                         * delegate task [POST]
                                           - takes a "targetEntityId" query parameter
        exit                             * exit task [POST]
        fail                             * fail task [POST]
        forward                          * forward task [POST]
                                           - takes a "targetEntityId" query parameter
        release                          * release task [POST]
        resume                           * resume task [POST]
        skip                             * skip task [POST]
        start                            * start task [POST]
        stop                             * stop task [POST]
        suspend                          * suspend task [POST]
        nominate                         * nominate task [POST]
                                           - takes "user" and "group" parameters
           
        content                          * return (a JAXB representation of the) task content [GET]
Clone this wiki locally