Do check out the API Builder! A brand new custom builder plugin made for Joget DX.

The API Builder introduces the simple drag-and-drop principle similar to the Form Builder, as a no-code/low-code alternative to create your own customized JSON APIs for Joget apps.

Have access to more APIs out-of-the-box, preview APIs quickly, greater API access management, support for custom API authenticators, and more.

API elements & API authenticators are extensible via plugins too.

To see detailed information about this plugin, click here.

Download the plugin from Joget Marketplace here.

The API Domain Whitelist setting in General Settings needs to be configured to allow JSON API requests. If a request is from a non-whitelisted domain, the response will be a HTTP 400 Bad Request.



App

web/json/app/(*:appId)/(~:version)/form/(*:formId)/columns

Description

Retrieves all columns for a form

User Role

Admin

Method

HTTP GET/POST

Parameters

    • appId - App definition id

    • version - (Optional) App definition version

    • formId - Form definition Id 


Sample URL


http://localhost:8080/jw/web/json/app/crm/form/crm_account/columns

Sample Result

[{
    "value": "accountName",
    "label": "Account Name"
}, {
    "value": "address",
    "label": "address"
}, {
    "value": "city",
    "label": "City"
}, {
    "value": "country",
    "label": "Country"
}, {
    "value": "dateCreated",
    "label": "Date Created"
}, {
    "value": "dateModified",
    "label": "Date Modified"
}, {
    "value": "id",
    "label": "ID"
}, {
    "value": "state",
    "label": "State"
}]

web/json/app/(*:appId)/(~:version)/generator/(*:formId)/generate

Description

Executes a generator plugin based on a form

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

    • plugin - Class name of generator plugin to execute

    • appId - App Definition id

    • version - (Optional) App definition version

    • formId - Form defintion id


Sample URL

http://localhost:8080/jw/web/json/app/crm/generator/crm_account/generate?plugin=org.joget.plugin.enterprise.CrudGenerator

Sample Result

{
    "message": "CRUD generated. Click <a href=\"/jw/web/console/app/crm/2/userview/builder/crm_userview_sales?menuId=c4a0c79c-c0a83810-5291318b-96650e7d\" target=\"_blank\">here<\/a> to continue edit CRUD in Userview Builder.",
    "error": false,
    "pluginDisabled": false
}

web/json/apps/install

Description

Downloads and imports an app form an URL

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

    • url - Url to download an app


Sample URL

http://localhost:8080/jw/web/json/apps/install?url= http%3A%2F%2Fwww.joget.org%2Fdownloads%2Fsimple_crm.jwa

Sample Result

{
    "appId" : "mcrm",
    "appName" : "Simple CRM",
    "appVersion: : "1"
}

web/json/apps/published/processes

Description

Retrieves all published processes based on logged in user

User Role

Anyone (Including anonymous)

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

    • appId - (Optional) App definition Id to filter the list


Sample URL

http://localhost:8080/jw/web/json/apps/published/processes?appId=crm

Sample Result

{
    "apps": [{
        "processes": [{
            "id": "crm#3#process1",
            "processVersion": "3",
            "appVersion": 2,
            "name": "Proposal Approval Process",
            "idWithoutVersion": "process1",
            "url": "/jw/web/client/app/crm/2/process/process1?start=true"
        }],
        "id": "crm",
        "name": "CRM",
        "version": 2
    }]
}

web/json/apps/published/userviews

Description

Retrieves all published userviews based on logged in user

User Role 

Anyone (Including anonymous)

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

    • appId - (Optional) App definition Id to filter the list


Sample URL 

http://localhost:8080/jw/web/json/apps/published/userviews?appId=crm

Sample Result 

{
    "apps": [{
        "id": "crm",
        "name": "CRM",
        "userviews": [{
            "id": "crm_userview_sales",
            "description": "",
            "name": "CRM: Sales Force Automation",
            "url": "/jw/web/userview/crm/crm_userview_sales",
            "version": 2
        }],
        "version": 2
    }]
}

web/json/console/app/list

Description

Retrieves all apps

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/list?name=crm

Sample Result

{
    "total": 2,
    "data": [{
        "id": "crm",
        "name": "CRM",
        "version": 2
    }, {
        "id": "mcrm",
        "name": "Simple CRM",
        "version": 1
    }]
}

web/json/console/app/(*:appId)/version/list  

Description

Retrieves all version of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http:/localhost/jw/web/json/workflow/process/list/package

Sample Result

{
    "total": 2,
    "data": [{
        "dateModified": "23-07-2015 07:25 AM",
        "description": null,
        "dateCreated": "28-05-2015 10:08 PM",
        "published": "",
        "version": "1"
    }, {
        "dateModified": "04-09-2015 03:05 AM",
        "description": null,
        "dateCreated": "22-07-2015 11:24 PM",
        "published": "<div class=\"tick\"><\/div>",
        "version": "2"
    }]
}

web/json/console/app/(*:appId)/(~:version)/builder/actions  

Description

Retrieves all Datalist Actions plugins

User Role

Admin

Method

HTTP GET/POST

Parameters

    • appID - App Definition Id
    • version - (Optional) App Definition version

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/builder/actions

Sample Result

{
    "actions": [{
        "name": "Data List Hyperlink Action",
        "className": "org.joget.apps.datalist.lib.HyperlinkDataListAction",
        "label": "Hyperlink",
        "type": "text",
        "propertyOptions": "[{     title : 'Configure Link',     properties : [{         label : 'Hyperlink',         name : 'href',         type : 'textfield',         description : 'URL (Eg. http:\\/\\/www.google.com)'     },     {         label : 'Hyperlink Target',         name : 'target',         type : 'selectbox',         description : 'Hyperlink Target is for Row Action usage only',         options : [{             value : '_self',             label : 'Current Window'         },         {             value : '_blank',             label : 'New Window'         },         {             value : 'popup',             label : 'Popup Dialog'         }]     },     {         name : 'parameters',         label : 'Hyperlink Parameters',         type : 'gridCombine',         columns : [{             key : 'hrefParam',             label : 'Parameter Name'         },         {             key : 'hrefColumn',             label : 'Column Name'         }]     },     {         label : 'Label',         name : 'label',         type : 'textfield',         description : 'Label shown in the column (for row actions)',         value : 'Hyperlink'     },     {         label : 'Confirmation Message',         name : 'confirmation',         type : 'textfield'     },     {         label : 'Visible when no record or checkbox? ',         name : 'visible',         type : 'checkbox',         options : [             {'value' : 'true', 'label' : ''}         ]     }] }]"
    }, {
        "name": "Form Row Delete Action",
        "className": "org.joget.apps.datalist.lib.FormRowDeleteDataListAction",
        "label": "Delete",
        "type": "text",
        "propertyOptions": "[{     title : 'Edit Delete Action',     properties : [{         name : 'label',         label : 'Label',         type : 'textfield'     },     {name:'formDefId',label:'Form',type:'selectbox',options_ajax:'[CONTEXT_PATH]/web/json/console/app/crm/2/forms/options',required:'True'},{         name : 'confirmation',         label : 'Confirmation Message',         type : 'textfield'     },     {         name:'deleteGridData',         label:'Delete Associated Grid Data?',         type:'checkbox',         value:'false',         options:[             {                 value:'true',                 label:''             }         ]     },     {         name:'deleteSubformData',         label:'Delete Associated Child Form Data? ',         type:'checkbox',         value:'false',         options:[             {                 value:'true',                 label:''             }         ]     },     {         name:'abortRelatedRunningProcesses',         label:'Abort Related Running Processes? ',         type:'checkbox',         value:'false',         options:[             {                 value:'true',                 label:''             }         ]     }] }]"
    }]
}

web/json/console/app/(*:appId)/(~:version)/envVariable/list

Description

Retrieves all environment variable of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definiton Id
    • version- (Optional) App Definiton version
    • filter - (Optional) id filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/envVariable/list

Sample Result


{
    "total": 2,
    "data": [{
        "id": "refNo",
        "value": "75",
        "remarks": "Used for plugin: IdGeneratorField"
    }, {
        "id": "welcome",
        "value": "<b>Welcome Message<\/b>",
        "remarks": ""
    }]
}

web/json/console/app/(*:appId)/(~:version)/datalist/list

Description

Retrieves all datalist of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition Id
    • version - (Optional) App Definition version
    • filter - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/datalist/list

Sample Result


{
    "total": 3,
    "data": [{
        "id": "crm_contact_list",
        "dateModified": "22-07-2015 11:24 PM",
        "description": "Contact List",
        "name": "Contact List",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_inbox",
        "dateModified": "28-08-2015 09:42 AM",
        "description": null,
        "name": "Task Inbox",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_opportunity_list",
        "dateModified": "22-07-2015 11:24 PM",
        "description": "Opportunity List",
        "name": "Opportunity List",
        "dateCreated": "22-07-2015 11:24 PM"
    }]
}

web/json/console/app/(*:appId)/(~:version)/datalist/options

Description

Retrieves all datalist of an app in value-label pair.

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Defintion Id
    • version - (optional) App Definiton version
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/datalist/options

Sample Result


[{
    "value": "",
    "label": ""
}, {
    "value": "crm_account_list",
    "label": "Account Listing"
}, {
    "value": "crm_contact_list",
    "label": "Contact List"
}, {
    "value": "crm_opportunity_list",
    "label": "Opportunity List"
}, {
    "value": "crm_inbox",
    "label": "Task Inbox"
}]

web/json/console/app/(*:appId)/(~:version)/form/tableNameList

Description

Retrieves all table name used in an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition Id
    • version - (Optional) App Definiton version

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/form/tableNameList

Sample Result

{
    "tableName": ["crm_account", "crm_contact", "crm_opportunity", "crm_proposal"]
}

web/json/console/app/(*:appId)/(~:version)/forms

Description

Retrieves all forms in an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version
    • name - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/forms

Sample Result

{
    "total": 7,
    "data": [{
        "id": "crm_account",
        "dateModified": "07-09-2015 08:30 AM",
        "tableName": "crm_account",
        "name": "Account Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_contact",
        "dateModified": "22-07-2015 11:24 PM",
        "tableName": "crm_contact",
        "name": "Contact Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_opportunity",
        "dateModified": "22-07-2015 11:24 PM",
        "tableName": "crm_opportunity",
        "name": "Opportunity Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_proposal_approval_form",
        "dateModified": "22-07-2015 11:24 PM",
        "tableName": "crm_proposal",
        "name": "Proposal Approval Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_proposal_form",
        "dateModified": "13-08-2015 02:55 AM",
        "tableName": "crm_proposal",
        "name": "Proposal Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_proposal_resubmit_form",
        "dateModified": "22-07-2015 11:24 PM",
        "tableName": "crm_proposal",
        "name": "Proposal Resubmit Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }, {
        "id": "crm_proposal_sending_form",
        "dateModified": "22-07-2015 11:24 PM",
        "tableName": "crm_proposal",
        "name": "Proposal Sending Form",
        "dateCreated": "22-07-2015 11:24 PM"
    }]
}

web/json/console/app/(*:appId)/(~:version)/forms/options

Description

Retrieves all form in an app in value-label pair 

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/forms/options

Sample Result


[{
    "value": "",
    "label": ""
}, {
    "value": "crm_account",
    "label": "Account Form"
}, {
    "value": "crm_contact",
    "label": "Contact Form"
}, {
    "value": "crm_opportunity",
    "label": "Opportunity Form"
}, {
    "value": "crm_proposal_approval_form",
    "label": "Proposal Approval Form"
}, {
    "value": "crm_proposal_form",
    "label": "Proposal Form"
}, {
    "value": "crm_proposal_resubmit_form",
    "label": "Proposal Resubmit Form"
}, {
    "value": "crm_proposal_sending_form",
    "label": "Proposal Sending Form"
}]

web/json/console/app/(*:appId)/(~:version)/package/deploy

Description

Deploy a new version of XPDL to an app

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version
    • packageXpdl - Multipart file of a XPDL file

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/package/deploy

Sample Result

{"status" : "complete"}

web/json/console/app/(*:appId)/(~:version)/package/xpdl

Description

Retrieves XPDL file of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • appId - App Definition id
    • version - (Optional) App Definition version

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/package/xpdl

web/json/console/app/(*:appId)/(~:version)/pluginDefault/list

Description

Retrieves all configured default plugin properties of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version
    • filter - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/pluginDefault/list

Sample Result

{
    "total": 2,
    "data": [{
        "id": "org.joget.apps.app.lib.EmailTool",
        "pluginName": "Email Tool",
        "pluginDescription": "Sends email message to targeted recipient(s)"
    }, {
        "id": "org.joget.apps.app.lib.ProcessDataCollectorAuditTrail",
        "pluginName": "Process Data Collector",
        "pluginDescription": "Save process data into app_report_* tables for reporting purposes"
    }]
}

web/json/console/app/(*:appId)/(~:version)/message/list

Description

Retrieves all created custom i18n message of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version
    • filter - (Optional) id and message filter
    • locale - (Optional) language code for filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/message/list

Sample Result

{
    "total": 1,
    "data": {
        "message": "查询",
        "id": "general.method.label.search_zh_CN",
        "locale": "zh_CN",
        "messageKey": "general.method.label.search"
    }
}

web/json/console/app/(*:appId)/(~:version)/userview/list

Description

Retrieves all userviews of an app

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version
    • filter - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/userview/list

Sample Result

{
    "total": 1,
    "data": {
        "id": "crm_userview_sales",
        "dateModified": "13-09-2015 02:55 AM",
        "description": "",
        "name": "CRM: Sales Force Automation",
        "dateCreated": "22-07-2015 11:24 PM"
    }
}

web/json/console/app/(*:appId)/(~:version)/userview/options

Description
Retrieves all userviews of an app in value-label pair

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - App Definition id
    • version - (Optional) App Definition version
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/console/app/crm/userview/options

Sample Result

[{
    "value": "",
    "label": ""
}, {
    "value": "crm_userview_sales",
    "label": "CRM: Sales Force Automation"
}]

web/json/workflow/package/list

Description
Retrieves package (app) list

User Role

Admin

Method
HTTP GET/POST

Parameters

    • callback - a function (in JavaScript) to call back after invoking this method

Sample URL

http://localhost:8080/jw/web/json/workflow/package/list

Sample Result

{
    "data": [{
        "packageId": "crm",
        "packageName": "CRM"
    }, {
        "packageId": "helpdesk",
        "packageName": "Helpdesk"
    }]
}

Assignments 

web/json/workflow/assignment/accept/(*:activityId)

Description
Accept an assigned assignment

Deprecated  Since v3, the concept of accept & withdraw assignment is removed  

User Role

Anyone (Including anonymous)

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - Activity instance id 

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/accept/879_223_crm_process1_approve_proposal

Sample Result

{
    "assignment" : "879_223_crm_process1_approve_proposal"
    "status" : "accepted"
}

web/json/workflow/assignment/complete/(*:activityId)

Description
Completes an assigned assignment

User Role

Anyone (Including anonymous)

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/complete/879_223_crm_process1_approve_proposal

Sample Result

{
    "activityId": "879_223_crm_process1_approve_proposal",
    "nextActivityId": "882_223_crm_process1_send_proposal",
    "processId": "223_crm_process1",
    "status": "completed"
}

web/json/workflow/assignment/completeWithVariable/(*:activityId)

Description
Completes an assigned assignment with option to set workflow variables.

User Role

Anyone (Including anonymous)

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id
    • var_* - (Optional) parameters prefixed with "var_" used to set workflow variable

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/completeWithVariable/879_223_crm_process1_approve_proposal?var_status=Sent

Sample Result

{
    "activityId": "879_223_crm_process1_approve_proposal",
    "nextActivityId": "882_223_crm_process1_send_proposal",
    "processId": "223_crm_process1",
    "status": "completed"
}

web/json/workflow/assignment/list

Description
Retrieves all assignments of current logged in user

User Role

Anyone (Including anonymous)

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • packageId - (Optional) App Definition Id
    • processDefId - (Optional) Process definition Id with version
    • processId - (Optional) Process instance id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/list?rows=3&packageId=crm

Sample Result

{
    "total": 10,
    "data": [{
        "id": "477_118_crm_process1_approve_proposal",
        "activityId": "477_118_crm_process1_approve_proposal",
        "processVersion": "1",
        "serviceLevelMonitor": "-",
        "processId": "118_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "21-07-2015 03:03 AM",
        "label": "Approve Proposal",
        "acceptedStatus": false,
        "activityName": "Approve Proposal"
    }, {
        "id": "479_119_crm_process1_approve_proposal",
        "activityId": "479_119_crm_process1_approve_proposal",
        "processVersion": "1",
        "serviceLevelMonitor": "-",
        "processId": "119_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "21-07-2015 03:03 AM",
        "label": "Approve Proposal",
        "acceptedStatus": false,
        "activityName": "Approve Proposal"
    }, {
        "id": "481_120_crm_process1_approve_proposal",
        "activityId": "481_120_crm_process1_approve_proposal",
        "processVersion": "1",
        "serviceLevelMonitor": "-",
        "processId": "120_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "21-07-2015 03:03 AM",
        "label": "Approve Proposal",
        "acceptedStatus": false,
        "activityName": "Approve Proposal"
    }]
}

web/json/workflow/assignment/list/count

Description
Retrieves the number of assignments of current logged in user

User Role

Anyone (Including anonymous)

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • packageId - (Optional) App Definition Id
    • processDefId - (Optional) Process definition Id with version
    • processId - (Optional) Process instance id

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/list/count?packageId=crm

Sample Result

{"total":10}

web/json/workflow/assignment/list/accepted

Description
Retrieves all accepted assignments of current logged in user

Deprecated  Since v3, the concept of accept & withdraw assignment is removed  

User Role

Anyone (Including anonymous)

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - (Optional) Process instance id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/list/accepted?rows=3

Sample Result

{
    "total": 10,
    "data": [{
        "id": "477_118_crm_process1_approve_proposal",
        "activityId": "477_118_crm_process1_approve_proposal",
        "processVersion": "1",
        "serviceLevelMonitor": "-",
        "processId": "118_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "21-07-2015 03:03 AM",
        "label": "Approve Proposal",
        "acceptedStatus": false,
        "activityName": "Approve Proposal"
    }, {
        "id": "479_119_crm_process1_approve_proposal",
        "activityId": "479_119_crm_process1_approve_proposal",
        "processVersion": "1",
        "serviceLevelMonitor": "-",
        "processId": "119_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "21-07-2015 03:03 AM",
        "label": "Approve Proposal",
        "acceptedStatus": false,
        "activityName": "Approve Proposal"
    }, {
        "id": "481_120_crm_process1_approve_proposal",
        "activityId": "481_120_crm_process1_approve_proposal",
        "processVersion": "1",
        "serviceLevelMonitor": "-",
        "processId": "120_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "21-07-2015 03:03 AM",
        "label": "Approve Proposal",
        "acceptedStatus": false,
        "activityName": "Approve Proposal"
    }]
}

web/json/workflow/assignment/list/accepted/count  

Description
Retrieves the number of accepted assignments of current logged in user

Deprecated  Since v3, the concept of accept & withdraw assignment is removed  

User Role

Anyone (Including anonymous) 

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/list/accepted/count

Sample Result

{"total":3}

web/json/workflow/assignment/list/accepted/process

Description

Retrieves processes list based on accepted assignment of current logged in user

Deprecated  Since v3, the concept of accept & withdraw assignment is removed  

User Role 

Anyone (Including anonymous) 

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/list/accepted/process

Sample Result

{
    "data": [{
        "count": 3,
        "processVersion": "3",
        "processName": "Proposal Approval Process",
        "processDefId": "crm#3#process1",
        "label": "Proposal Approval Process ver 3 (3)",
        "url": "/json/workflow/assignment/list/accepted?processId=crm%233%23process1"
    }]
}

web/json/workflow/assignment/list/pending

Description
Retrieves all pending assignments of current logged in user 

User Role 

Anyone (Including anonymous)  

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - (Optional) Process instance id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/list/pending

Sample Result

{
    "total": 3,
    "data": [{
        "id": "841_206_crm_process1_send_proposal",
        "activityId": "841_206_crm_process1_send_proposal",
        "processVersion": "3",
        "serviceLevelMonitor": "-",
        "processId": "206_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "04-09-2015 11:05 AM",
        "label": "Send Proposal",
        "activityName": "Send Proposal"
    }, {
        "id": "842_207_crm_process1_approve_proposal",
        "activityId": "842_207_crm_process1_approve_proposal",
        "processVersion": "3",
        "serviceLevelMonitor": "-",
        "processId": "207_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "04-09-2015 11:05 AM",
        "label": "Approve Proposal",
        "activityName": "Approve Proposal"
    }, {
        "id": "843_208_crm_process1_send_proposal",
        "activityId": "843_208_crm_process1_send_proposal",
        "processVersion": "3",
        "serviceLevelMonitor": "-",
        "processId": "208_crm_process1",
        "description": "",
        "processName": "Proposal Approval Process",
        "due": "-",
        "dateCreated": "04-09-2015 11:05 AM",
        "label": "Send Proposal",
        "activityName": "Send Proposal"
    }]
}

web/json/workflow/assignment/list/pending/count

Description
Retrieves the number of all pending assignments of current logged in user 

User Role

Anyone (Including anonymous)  

Method 

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

Sample URL 

http://localhost:8080/jw/web/json/workflow/assignment/list/pending/count

Sample Result

{"total":3}

web/json/workflow/assignment/list/pending/process

Description
Retrieves process list based on pending assignments of current logged in user

User Role

Anyone (Including anonymous) 

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

Sample URL 

http:/localhost:8080/jw/web/json/workflow/assignment/list/pending/process

Sample Result

{
    "data": [{
        "count": 3,
        "processVersion": "3",
        "processName": "Proposal Approval Process",
        "processDefId": "crm#3#process1",
        "label": "Proposal Approval Process ver 3 (3)",
        "url": "/json/workflow/assignment/list/accepted?processId=crm%233%23process1"
    }]
}

web/json/workflow/assignment/process/view/(*:processId)

Description
Retrieves process information based on available assignment of current logged in user

User Role

Anyone (Including anonymous) 

Method 

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - Process instance id

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/process/view/208_crm_process1

Sample Result

{
    "activityId": "843_208_crm_process1_send_proposal",
    "processVersion": "3",
    "activityDefId": "send_proposal",
    "processId": "208_crm_process1",
    "assigneeId": "admin",
    "description": "",
    "processName": "Proposal Approval Process",
    "dateCreated": "04-09-2015 03:05 AM",
    "participant": "Requester",
    "processDefId": "crm#3#process1",
    "variable": {
        "status": "approved"
    },
    "activityName": "Send Proposal"
}

web/json/workflow/assignment/withdraw/(*:activityId)

Description
Withdraws an accepted assignment

Deprecated  Since v3, the concept of accept & withdraw assignment is removed  

User Role

Anyone (Including anonymous) 

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id

Sample URL 

http://localhost:8080/jw/web/json/workflow/assignment/withdraw/879_223_crm_process1_approve_proposal

Sample Result

{
    "activityId": "879_223_crm_process1_approve_proposal",
    "status": "withdrawn"
}

web/json/workflow/assignment/variable/(*:activityId)/(*:variable)

This API only works when the current user is assigned to the specified activity.

Description
Sets value of workflow variable of an assignment

User Role

Anyone (Including anonymous) 

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id
    • variable - workflow variable to set value 
    • value - value of workflow variable

Sample URL 

http://localhost:8080/jw/web/json/workflow/assignment/variable/843_208_crm_process1_send_proposal/status?value=test

Sample Result

{"status":"variableSet"}

web/json/workflow/assignment/view/(*:activityId)  

Description
Retrieves information of an assignment

User Role

Anyone (Including anonymous) 

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id

Sample URL

http://localhost:8080/jw/web/json/workflow/assignment/view/843_208_crm_process1_send_proposal

Sample Result

{
    "activityId": "843_208_crm_process1_send_proposal",
    "processVersion": "3",
    "activityDefId": "send_proposal",
    "processId": "208_crm_process1",
    "assigneeId": "admin",
    "description": "",
    "processName": "Proposal Approval Process",
    "dateCreated": "04-09-2015 03:05 AM",
    "participant": "Requester",
    "processDefId": "crm#3#process1",
    "variable": {
        "status": "approved"
    },
    "activityName": "Send Proposal"
}

Processes

web/json/workflow/process/abort/(*:processId)

Description
Aborts a running process instance

User Role

Admin

Method
HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - Process instance id

Sample URL
http://localhost:8080/jw/web/json/workflow/process/abort/208_crm_process1

Sample Result

{"status":"aborted","processId":"208_crm_process1"}

web/json/workflow/process/latest/(*:processDefId)

Description
Gets latest Process def Id of a process based on a Process def Id

User Role

Admin

Method
HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processDefId - Process Definition Id (Replace '#' with ':' in the id)

Sample URL

http://localhost:8080/jw/web/json/workflow/process/latest/crm:1:process1

Sample Result

{"id":"crm#3#process1","encodedId":"crm:3:process1"}

web/json/workflow/process/list

Description
Retrieves process list

User Role

Admin

Method
HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • allVersion - (Optional) "yes" to load all versions, "no" to load latest version
    • packageId - (Optional) package id (App id)
    • sort - (Optional) column name to be sorted
    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)
    • start - (Optional) where rows start from
    • rows - (Optional) number of rows per page
    • checkWhiteList - (Optional true/false) to return the list based on process white list

Sample URL

http://localhost:8080/jw/web/json/workflow/process/list

Sample Result

{
    "total": 3,
    "desc": false,
    "sort": "name",
    "start": 0,
    "data": [{
        "id": "hdc_v1001#1#hdc_certification_process",
        "packageName": "halal certification",
        "name": "HDC Certification Process",
        "packageId": "hdc_v1001",
        "label": "HDC Certification Process ver 1",
        "version": "1"
    }, {
        "id": "mdec_v1002#12#mdec_wp1",
        "packageName": "Mdec Work Progress",
        "name": "mdec_wp1",
        "packageId": "mdec_v1002",
        "label": "mdec_wp1 ver 12",
        "version": "12"
    }, {
        "id": "mora#5#mora_new_application",
        "packageName": "MORA Halal Certification",
        "name": "MORA New Application",
        "packageId": "mora",
        "label": "MORA New Application ver 5",
        "version": "5"
    }]
}

web/json/workflow/process/list/package

Description
Retrieve first process with details of every packages

User Role

Admin

Method
HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • checkWhiteList - (Optional) Boolean value to return the list based on process white list

Sample URL
http:/localhost:8080/jw/web/json/workflow/process/list/package

Sample Result

{
    "data": [{
        "id": "hr_expense",
        "count": 2,
        "processVersion": "3",
        "packageName": "HR Expenses Claim App",
        "processId": "hr_expense#3#process1",
        "processName": "Expense Approval Process",
        "packageId": "hr_expense",
        "label": "HR Expenses Claim App",
        "url": "/json/workflow/process/list?packageId=hr_expense"
    }, {
        "id": "isr",
        "count": 1,
        "processVersion": "2",
        "packageName": "ISR",
        "processId": "isr#2#isr",
        "processName": "ISR Process",
        "packageId": "isr",
        "label": "ISR",
        "url": "/json/workflow/process/list?packageId=isr"
    }, {
        "id": "hrleave",
        "count": 2,
        "processVersion": "1",
        "packageName": "JINC Leave Solution",
        "processId": "hrleave#1#la",
        "processName": "Leave Application System",
        "packageId": "hrleave",
        "label": "JINC Leave Solution",
        "url": "/json/workflow/process/list?packageId=hrleave"
    }]
}

web/json/workflow/process/start/(*:processDefId)

Description
Starts a process based on process start whitelist


User Role

Anyone (Including anonymous)  

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processDefId - Process Definition Id (Replace '#' with ':' in the id)

      Obtaining Latest Published Process Version

      Instead of specifying crm:3:process1 in the call, we can use the keyword latest in the processDefId - crm:latest:process1 to automatically set to the published app's process version.

    • processInstanceId - (Optional) used to start the previous created but haven't start process instance
    • recordId - (Optional) used to start a process instance with existing record
    • var_* - (Optional) parameters prefixed with "var_" will be used to set workflow variable

Sample URL

http://localhost:8080/jw/web/json/workflow/process/start/crm:3:process1

Sample Result

{"activityId":"885_224_crm_process1_approve_proposal","processId":"224_crm_process1"}

For "activityId" to be returned, please ensure the "Show The Next Assignment When Completed" is checked under the Run Process activity in Map Activities to Forms tab and the next activity after the start of process is assigned to the same person that starts the process.

web/json/workflow/process/variable/(*:processId)/(*:variable)

Description
Sets workflow variable of a process instance

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instnace id
    • variable - workflow variable name 
    • value - value of workflow variable to be set

Sample URL

http://localhost:8080/jw/web/json/workflow/process/variable/208_crm_process1/status?value=test

Sample Result

{"status" : "variableSet"}

web/json/workflow/process/view/(*:processId)

Description
Retrieves information of a process definition

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - Process Definition Id (Replace '#' with ':' in the id)

Sample URL

http://localhost:8080/jw/web/json/workflow/process/view/crm:3:process1

Sample Result

{
    "packageName": "CRM",
    "processId": "crm#3#process1",
    "name": "Proposal Approval Process",
    "packageId": "crm",
    "version": "3"
}

web/json/workflow/variable/list/(*:processId)

Description
Retrieves all variables of a process instance

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instance id

Sample URL

http://localhost:8080/jw/web/json/workflow/variable/list/208_crm_process1

Sample Result

{
    "processId": "208_crm_process1",
    "variable": {
        "status": "approved"
    }
}


Monitoring

web/json/monitoring/activity/abort/(*:processId)/(*:activityDefId)

Description
Aborts an activity of a process instance

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instance id
    • activityDefId - activity definition id

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/abort/208_crm_process1/send_proposal

Sample Result

{"activityDefId":"send_proposal","status":"aborted","processId":"208_crm_process1"}

web/json/monitoring/activity/list

Description
Retrieves a list of all activities

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - (Optional) process instance id for filtering
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/list?processId=116_hr_expense_process1

Sample Result

{
    "total": 3,
    "data": [{
        "id": "474_116_hr_expense_process1_approve_claim",
        "serviceLevelMonitor": "-",
        "name": "Approve Claim",
        "state": "open.not_running.not_started",
        "dateCreated": "15-07-2015 02:54 AM"
    }, {
        "id": "472_116_hr_expense_process1_new_claim",
        "serviceLevelMonitor": "-",
        "name": "Edit Claim",
        "state": "closed.completed",
        "dateCreated": "15-07-2015 02:53 AM"
    }, {
        "id": "473_116_hr_expense_process1_tool4",
        "serviceLevelMonitor": "-",
        "name": "Update Record Status to Submitted",
        "state": "closed.completed",
        "dateCreated": "15-07-2015 02:54 AM"
    }]
}

web/json/monitoring/activity/reassign

Description
Reassigns a user to replace another user assigned to an assignment

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • username - username that will replace the assigned user
    • replaceUser - username of an existing assignee of the assignment
    • activityId - activity instance id of the assignment

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/reassign?activityId=841_206_crm_process1_send_proposal&username=admin&replaceUser=cat

Sample Result

{"activityId":"841_206_crm_process1_send_proposal","username":"admin","replaceUser":"cat"}

web/json/monitoring/activity/reevaluate

Description
Reevaluates an activity

User Role

Admin

Method

HTTP POST

Parameters

    • activityId - activity instance id to be reevaluate

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/reevaluate?activityId=841_206_crm_process1_send_proposal


web/json/monitoring/activity/start/(*:processId)/(*:activityDefId)

Description
Starts an activity in a running process instance

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instance id
    • activityDefId - activity definition id
    • abortCurrent - (Optional) true or false value to abort all the running activities in the process instance

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/start/116_hr_expense_process1/verify_claim

Sample Result

{"result":true,"activityDefId":"verify_claim","processId":"116_hr_expense_process1"}

web/json/monitoring/activity/variable/(*:activityId)/(*:variable)

Description
Sets value to a workflow variable to a running activity instance

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id
    • variable - workflow variable name
    • value - workflow variable value

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/variable/474_116_hr_expense_process1_approve_claim/status?value=test

Sample Result

{"status":"variableSet"}

web/json/monitoring/activity/view/(*:activityId)

Description
Retrieves information of an activity instance

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • activityId - activity instance id

Sample URL

http://localhost:8080/jw/web/json/monitoring/activity/view/474_116_hr_expense_process1_approve_claim

Sample Result

{
    "processId": "116_hr_expense_process1",
    "serviceLevelMonitor": "-",
    "createdTime": "Wed Jul 15 10:54:10 MYT 2015",
    "processName": "Expense Approval Process",
    "assignee": "admin",
    "activityId": "474_116_hr_expense_process1_approve_claim",
    "activityDefId": "approve_claim",
    "processVersion": "1",
    "processDefId": "hr_expense#1#process1",
    "participant": "approver",
    "finishTime": "",
    "variable": {
        "status": "test"
    },
    "activityName": "Approve Claim",
    "dueDate": ""
}

web/json/monitoring/completed/process/list

Description
Retrieves a list of all completed process instances

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • packageId - (Optional) App/ package id
    • processId - (Optional) process instance id for filtering
    • processName - (Optional) process name for filtering
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/monitoring/completed/process/list?rows=3

Sample Result

{
    "total": 74,
    "data": [{
        "id": "133_hr_expense_process1",
        "serviceLevelMonitor": "-",
        "requesterId": "admin",
        "name": "Expense Approval Process",
        "state": "closed.aborted",
        "due": "-",
        "startedTime": "29-07-2015 01:46 AM",
        "version": "2"
    }, {
        "id": "135_crm_process1",
        "serviceLevelMonitor": "-",
        "requesterId": "admin",
        "name": "Proposal Approval Process",
        "state": "closed.aborted",
        "due": "-",
        "startedTime": "04-08-2015 09:28 AM",
        "version": "2"
    }, {
        "id": "136_crm_process1",
        "serviceLevelMonitor": "-",
        "requesterId": "admin",
        "name": "Proposal Approval Process",
        "state": "closed.aborted",
        "due": "-",
        "startedTime": "04-08-2015 09:31 AM",
        "version": "2"
    }]
}

web/json/monitoring/process/copy/(*:processId)/(*:processDefId)

Description
Copies the state and workflow variables of a running process instance to start a new process instance

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instance id
    • processDefId - process definition id to start a new process (replace "#" to ":")
    • abortCurrent - (Optional) true or false value to abort the current running process instance after start a new process instance

Sample URL

http://localhost:8080/jw/web/json/monitoring/process/copy/116_hr_expense_process1/hr_expense:1:process1

Sample Result

{
    "processId": "228_hr_expense_process1",
    "processDefId": "hr_expense#1#process1",
    "activities": [ "896_228_hr_expense_process1_approve_claim" ]
}

web/json/monitoring/process/variable/(*:processId)/(*:variable)

Description
Sets a value to workflow variable of a process instance

User Role

Admin

Method

HTTP POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instance id
    • variable - workflow variable name
    • value - workflow variable value

Sample URL

http://localhost:8080/jw/web/json/monitoring/process/variable/224_crm_process1/status?value=test

Sample Result

{"status":"variableSet"}

web/json/monitoring/process/view/(*:processId)

Description
Retrieves information of a process instance

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • processId - process instance id

Sample URL

http://localhost:8080/jw/web/json/monitoring/process/view/224_crm_process1

Sample Result

{
    "requester": "admin",
    "serviceLevelMonitor": "-",
    "processId": "224_crm_process1",
    "name": "Proposal Approval Process",
    "finishTime": "",
    "states": ["open.running", "open.running"],
    "packageId": "crm",
    "processDefId": "crm#3#process1",
    "dueDate": "",
    "startedTime": "",
    "version": "3"
}

web/json/monitoring/running/activity/complete

Description
Completes a running activity

User Role

Admin

Method

HTTP POST

Parameters

    • processDefId - process definition id (replace "#" to ":")
    • processId - process instance id
    • activityId - activity instance id

Sample URL

http://localhost:8080/jw/web/json/monitoring/running/activity/complete?processDefId=crm:3:process1&processId=224_crm_process1&activityId=885_224_crm_process1_approve_proposal

web/json/monitoring/running/activity/reassign

Description
Reassigns a user to replace another user assigned to an assignment 

User Role

Admin

Method

HTTP POST

Parameters

    • processDefId - process definition id (replace "#" to ":")
    • processId - process instance id
    • activityId - activity instance id
    • username - username that will replace the assigned user
    • replaceUser - username of an existing assignee of the assignment

Sample URL

http://localhost:8080/jw/web/json/monitoring/running/activity/reassign?processDefId=crm:3:process1&processId=227_crm_process1&activityId=890_227_crm_process1_approve_proposal&username=cat&replaceUser=admin

web/json/monitoring/running/process/list

Description
Retrieves a list of all running process instances

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • packageId - (Optional) app/package id
    • processId - (Optional) process instance id
    • processName - (Optional) process name
    • version - (Optional) process version
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/monitoring/running/process/list?packageId=crm&rows=3

Sample Result

{
    "total": 16,
    "data": [{
        "id": "118_crm_process1",
        "serviceLevelMonitor": "-",
        "requesterId": "admin",
        "name": "Proposal Approval Process",
        "state": "open.running",
        "due": "-",
        "startedTime": "21-07-2015 03:03 AM",
        "version": "1"
    }, {
        "id": "119_crm_process1",
        "serviceLevelMonitor": "-",
        "requesterId": "admin",
        "name": "Proposal Approval Process",
        "state": "open.running",
        "due": "-",
        "startedTime": "21-07-2015 03:03 AM",
        "version": "1"
    }, {
        "id": "120_crm_process1",
        "serviceLevelMonitor": "-",
        "requesterId": "admin",
        "name": "Proposal Approval Process",
        "state": "open.running",
        "due": "-",
        "startedTime": "21-07-2015 03:03 AM",
        "version": "1"
    }]
}

web/json/monitoring/user/reevaluate

Description
Reevaluates all assignments of an user

User Role

Admin

Method

HTTP POST

Parameters

    • username - user to be reevaluate

Sample URL

http://localhost:8080/jw/web/json/monitoring/user/reevaluate?username=cat

 

SLA

web/json/workflow/activity/sla/list

Description
Retrieve first process with details of every packages

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • appId - (Optional) app defintion id
    • appVersion - (Optional) app definition version
    • processDefId - (Optional) process definition id without package id and version

Sample URL

http://localhost:8080/jw/web/json/workflow/activity/sla/list?appId=crm

Sample Result

{
    "total": 3,
    "data": [{
        "ratioOnTime": 100,
        "activityDefId": "approval",
        "serviceLevelMonitor": "<span class=\"dot_green\">&nbsp;<\/span>",
        "minDelay": 0,
        "ratioWithDelay": 0,
        "maxDelay": 0,
        "activityName": "Approval"
    }, {
        "ratioOnTime": 100,
        "activityDefId": "parallel",
        "serviceLevelMonitor": "<span class=\"dot_green\">&nbsp;<\/span>",
        "minDelay": 0,
        "ratioWithDelay": 0,
        "maxDelay": 0,
        "activityName": "Parallel"
    }, {
        "ratioOnTime": 100,
        "activityDefId": "route1",
        "serviceLevelMonitor": "<span class=\"dot_green\">&nbsp;<\/span>",
        "minDelay": 0,
        "ratioWithDelay": 0,
        "maxDelay": 0,
        "activityName": "Route 1"
    }]
}

Audit Trail

web/json/workflow/audittrail/list

Description
Retrieves a list of audit trail

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • dateFrom - (Optional) date start for filtering. Format is yyyy-MM-dd
    • dateTo - (Optional) date to for filtering. Format is yyyy-MM-dd
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/workflow/audittrail/list?rows=5

Sample Result

{
    "total": 3225,
    "data": [{
        "timestamp": "25-06-2015 07:41 AM",
        "message": "Authentication for user admin: true",
        "id": "2c90a1574e29523a014e29aa77590000",
        "username": "anonymousUser",
        "method": "authenticate",
        "clazz": "org.joget.apps.workflow.security.WorkflowAuthenticationProvider"
    }, {
        "timestamp": "25-06-2015 08:41 AM",
        "message": "Authentication for user admin: true",
        "id": "2c90a1574e29e104014e29e178080000",
        "username": "anonymousUser",
        "method": "authenticate",
        "clazz": "org.joget.apps.workflow.security.WorkflowAuthenticationProvider"
    }, {
        "timestamp": "25-06-2015 08:55 AM",
        "message": "testProcess",
        "id": "2c90a1574e29e81c014e29eddb7a0000",
        "username": "admin",
        "method": "processUpload",
        "clazz": "org.joget.workflow.model.service.WorkflowManagerImpl"
    }, {
        "timestamp": "25-06-2015 08:55 AM",
        "message": "50_testProcess_process1",
        "id": "2c90a1574e29e81c014e29eddecf0001",
        "username": "anonymousUser",
        "method": "processCompleted",
        "clazz": "org.joget.workflow.model.service.WorkflowManagerImpl"
    }, {
        "timestamp": "25-06-2015 08:55 AM",
        "message": "50_testProcess_process1",
        "id": "2c90a1574e29e81c014e29edded80002",
        "username": "anonymousUser",
        "method": "processCompleted",
        "clazz": "org.joget.workflow.model.service.WorkflowManagerImpl"
    }]
}

Directory

web/json/directory/admin/dept/list

Description
Retrieves all department

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • orgId - (Optional) orgnization id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/dept/list

Sample Result

{
    "total": 7,
    "data": [{
        "id": "D-001",
        "description": "",
        "name": "CEO Office",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }, {
        "id": "D-002",
        "description": "",
        "name": "Human Resource and Admin",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }, {
        "id": "D-003",
        "description": "",
        "name": "Finance",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }, {
        "id": "D-004",
        "description": "",
        "name": "Marketing",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }, {
        "id": "D-005",
        "description": "",
        "name": "Product Development",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }, {
        "id": "D-006",
        "description": "",
        "name": "Training and Consulting",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }, {
        "id": "D-007",
        "description": "",
        "name": "Support and Services",
        "organization.name": "Joget.Org",
        "parent.name": ""
    }]
}

web/json/directory/admin/employment/list

Description
Retrieves all user with employment details

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • orgId - (Optional) organization id
    • deptId - (Optional) department id
    • gradeId - (Optional) grade id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/employment/list?name=j

Sample Result

{
    "total": 2,
    "data": [{
        "grade.name": "Managers",
        "user.firstName": "Jack",
        "user.id": "jack",
        "role": null,
        "user.lastName": "Drake",
        "organization.name": "Joget.Org",
        "employeeCode": null,
        "user.username": "jack",
        "department.name": "Training and Consulting"
    }, {
        "grade.name": "Executives",
        "user.firstName": "Julia",
        "user.id": "julia",
        "role": null,
        "user.lastName": "Kapatelis",
        "organization.name": "Joget.Org",
        "employeeCode": null,
        "user.username": "julia",
        "department.name": "Human Resource and Admin"
    }]
}

web/json/directory/admin/employment/noHaveOrganization/list

Description
Retrieves all users not belong to any organization

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/employment/noHaveOrganization/list

Sample Result

{
    "total": 1,
    "data": {
        "user.firstName": "Admin",
        "user.id": "admin",
        "role": "",
        "user.lastName": "",
        "employeeCode": "",
        "user.username": "admin"
    }
}

web/json/directory/admin/employment/noInDept/list

Description
Retrieves all users not belong to a department

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/employment/noInDept/list?orgId=ORG-001&deptId=D-003&name=j

Sample Result

{
    "total": 3,
    "data": [{
        "grade.name": "Executives",
        "user.firstName": "Cat",
        "user.id": "cat",
        "role": "",
        "user.lastName": "Grant",
        "employeeCode": "",
        "user.username": "cat",
        "department.name": "Product Development"
    }, {
        "grade.name": "Managers",
        "user.firstName": "Jack",
        "user.id": "jack",
        "role": null,
        "user.lastName": "Drake",
        "employeeCode": null,
        "user.username": "jack",
        "department.name": "Training and Consulting"
    }, {
        "grade.name": "Executives",
        "user.firstName": "Julia",
        "user.id": "julia",
        "role": null,
        "user.lastName": "Kapatelis",
        "employeeCode": null,
        "user.username": "julia",
        "department.name": "Human Resource and Admin"
    }]
}

web/json/directory/admin/employment/noInGrade/list

Description
Retrieves all users not belong to a grade

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • orgId - Organization id
    • gradeId - Grade id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/employment/noInGrade/list?orgId=ORG-001&gradeId=G-003&name=c

Sample Result

{
    "total": 3,
    "data": [{
        "grade.name": "Managers",
        "user.firstName": "Clark",
        "user.id": "clark",
        "role": null,
        "user.lastName": "Kent",
        "employeeCode": null,
        "user.username": "clark",
        "department.name": "Product Development"
    }, {
        "grade.name": "Managers",
        "user.firstName": "Jack",
        "user.id": "jack",
        "role": null,
        "user.lastName": "Drake",
        "employeeCode": null,
        "user.username": "jack",
        "department.name": "Training and Consulting"
    }, {
        "grade.name": "Managers",
        "user.firstName": "David",
        "user.id": "david",
        "role": null,
        "user.lastName": "Cain",
        "employeeCode": null,
        "user.username": "david",
        "department.name": "Support and Services"
    }]
}

web/json/directory/admin/group/list

Description
Retrieves all groups

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • orgId - (Optional) organization id for filter 
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/group/list

Sample Result

{
    "total": 3,
    "data": [{
        "id": "G-001",
        "description": "",
        "name": "Managers",
        "organization.name": ""
    }, {
        "id": "G-002",
        "description": "",
        "name": "CxO",
        "organization.name": ""
    }, {
        "id": "G-003",
        "description": "",
        "name": "hrAdmin",
        "organization.name": ""
    }]
}

web/json/directory/admin/grade/list

Description
Retrieves all grades

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • orgId - (Optional) Organization Id for filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/grade/list

Sample Result

{
    "total": 3,
    "data": [{
        "id": "G-001",
        "description": "",
        "name": "Board Members"
    }, {
        "id": "G-002",
        "description": "",
        "name": "Managers"
    }, {
        "id": "G-003",
        "description": "",
        "name": "Executives"
    }]
}

web/json/directory/admin/organization/list

Description
Retrieves all organizations

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/organization/list

Sample Result

{
    "total": 1,
    "data": {
        "id": "ORG-001",
        "description": "",
        "name": "Joget.Org"
    }
}

web/json/directory/admin/subdept/list

Description
Retrieves all sub department of a department

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • deptId - department id
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/subdept/list?deptId=D-001

Sample Result

{
    "total": 1,
    "data": {
        "id": "sub",
        "description": "",
        "name": "Sub Department"
    }
}

web/json/directory/admin/user/deptAndGrade/options

Description
Retrieves all departments and grades in an organization

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • orgId - Organization id

Sample URL

http://localhost:8080/jw/web/json/directory/admin/user/deptAndGrade/options?orgId=ORG-001

Sample Result 

{
    "departments": [{
        "id": "",
        "name": "",
        "prefix": ""
    }, {
        "id": "D-001",
        "prefix": "",
        "name": "CEO Office"
    }, {
        "id": "D-003",
        "prefix": "",
        "name": "Finance"
    }, {
        "id": "D-002",
        "prefix": "",
        "name": "Human Resource and Admin"
    }, {
        "id": "D-004",
        "prefix": "",
        "name": "Marketing"
    }, {
        "id": "D-005",
        "prefix": "",
        "name": "Product Development"
    }, {
        "id": "D-007",
        "prefix": "",
        "name": "Support and Services"
    }, {
        "id": "D-006",
        "prefix": "",
        "name": "Training and Consulting"
    }],
    "grades": [{
        "id": "",
        "name": "",
        "prefix": ""
    }, {
        "id": "G-001",
        "name": "Board Members"
    }, {
        "id": "G-003",
        "name": "Executives"
    }, {
        "id": "G-002",
        "name": "Managers"
    }]
}

web/json/directory/admin/user/group/list

Description
Retrieves the groups that a user is in or not in.

User Role 

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • userId - Username that a user is in or not in the group
    • orgId - (Optional) 
    • inGroup - (Optional) true or false. default to true
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/user/group/list?userId=admin

Sample Result 

{
    "total": 1,
    "data": {
        "id": "G-001",
        "description": "",
        "name": "Managers",
        "organization.name": ""
    }
}

web/json/directory/admin/user/list

Description
Retrieves a list of users

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • orgId - (Optional) Organization id for filter
    • deptId - (Optional) Department id for filter
    • gradeId - (Optional) Grade id for filter
    • groupId - (Optional) Group id for filter
    • roleId - (Optional) Role id for filter
    • active - (Optional) 1 = active, 0 = not active
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/user/list?groupId=G-002

Sample Result

{
    "total": 1,
    "data": {
        "id": "terry",
        "lastName": "Berg",
        "username": "terry",
        "email": "",
        "active": "Active",
        "firstName": "Terry"
    }
}

web/json/directory/admin/user/notInGroup/list

Description
Retrieves a list of user not in a group

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • name - (Optional) name filter
    • groupId - Group id for filter
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL

http://localhost:8080/jw/web/json/directory/admin/user/notInGroup/list?groupId=G-002

Sample Result

{
    "total": 4,
    "data": [{
        "id": "admin",
        "lastName": "",
        "username": "admin",
        "email": "",
        "firstName": "Admin"
    }, {
        "id": "cat",
        "lastName": "Grant",
        "username": "cat",
        "email": "owen@joget.org",
        "firstName": "Cat"
    }, {
        "id": "clark",
        "lastName": "Kent",
        "username": "clark",
        "email": "",
        "firstName": "Clark"
    }, {
        "id": "david",
        "lastName": "Cain",
        "username": "david",
        "email": "",
        "firstName": "David"
    }]
}

web/json/directory/user/sso

Description
To single sign on a user

User Role

Anonymous

Method

HTTP POST, support HTTP basic authentication

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • j_username - (Optional) username for login
    • j_password - (Optional) password for login
    • hash - (Optional) Hashed Password

Sample URL

http://localhost:8080/jw/web/json/directory/user/sso?j_username=admin&j_password=admin

Sample Result

{"username":"admin","isAdmin":"true", "token": "OWASP_CSRFTOKEN=7BKT-GL1V-Y5LR-T3JJ-41W2-JRBL-CCDB-7C03"}

web/json/workflow/currentUsername

Description
Retrieves the username of current logged in user

User Role

Admin

Method

HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

Sample URL

http://localhost:8080/jw/web/json/workflow/currentUsername

Sample Result

{"username":"admin"}

Plugin

web/json/plugin/list

Description
Retrieves a list of plugins

User Role

Admin

Method

HTTP GET/POST

Parameters

Sample URL

http://localhost:8080/jw/web/json/plugin/list?start=0&rows=5

Sample Result 

{
    "total": 140,
    "start": 0,
    "data": [{
        "id": "org.joget.plugin.enterprise.AjaxSubForm",
        "description": "AJAX Subform Element",
        "name": "AJAX Subform",
        "version": "5.0.0"
    }, {
        "id": "org.joget.plugin.enterprise.AdminUserviewPermission",
        "description": "",
        "name": "Is Admin",
        "version": "5.0.0"
    }, {
        "id": "org.joget.plugin.enterprise.AdvancedFormRowDataListBinder",
        "description": "Retrieves data rows from a form table.",
        "name": "Advanced Form Data Binder",
        "version": "5.0.0"
    }, {
        "id": "org.joget.plugin.enterprise.AdvancedGrid",
        "description": "Advanced Grid Element",
        "name": "Advanced Grid",
        "version": "5.0.0"
    }, {
        "id": "org.joget.plugin.enterprise.AnonymousUserviewPermission",
        "description": "",
        "name": "Is Anonymous",
        "version": "5.0.0"
    }]
}

web/json/plugin/listOsgi

Description
Retrieves a list of OSGI plugins

User Role

Admin

Method

HTTP GET/POST

Parameters

Sample URL

http://localhost:8080/jw/web/json/plugin/listOsgi?start=0&rows=10

Sample Result 

{
    "total": 1,
    "start": 0,
    "data": {
        "id": "test.directory.TestDirectoryManager",
        "description": "Test Directory Manager",
        "name": "Test Directory Manager",
        "version": "1.0.0"
    }
}

web/property/json/getElements

Description
Retrieves options of plugins based on a plugin type abstract class or interface

User Role

Admin

Method

HTTP GET/POST

Parameters

Sample URL

http://localhost:8080/jw/web/property/json/getElements?classname=org.joget.plugin.base.DefaultApplicationPlugin

Sample Result

[{
    "value": "",
    "label": ""
}, {
    "value": "org.joget.apps.app.lib.DatabaseUpdateTool",
    "label": "Database Update Tool"
}, {
    "value": "org.joget.apps.app.lib.EmailTool",
    "label": "Email Tool"
}, {
    "value": "org.joget.apps.app.lib.JsonTool",
    "label": "Json Tool"
}]

web/property/json/getPropertyOptions

Description
Retrieves the Plugin Properties Options of a plugin

User Role

Admin

Method

HTTP GET/POST

Parameters

    • value - Plugin class name

Sample URL

http://localhost:8080/jw/web/property/json/getPropertyOptions?value=org.joget.apps.app.lib.BeanShellTool

Sample Result 

[{
    title: 'Configure Bean Shell',
    properties: [{
        name: 'script',
        label: 'Script',
        type: 'codeeditor',
        required: 'True',
        mode: 'java'
    }]
}]

web/property/json/(*:appId)/(~:version)/getDefaultProperties

Description
Retrieves the default Plugin Properties Options of a plugin based on App Definition meta

User Role

Admin

Method

HTTP GET/POST

Parameters

    • appId - App Definition Id
    • version - (Optional) App Defintion version
    • value - Plugin class name

Sample URL

http://localhost:8080/jw/web/property/json/crm/getDefaultProperties?value=org.joget.apps.app.lib.EmailTool

Sample Result

{
    "host": "smtp.gmail.com",
    "port": "456",
    "security": "SSL",
    "username": "test@gmail.com",
    "password": "test",
    "from": "test@gmail.com",
    "toSpecific": "",
    "toParticipantId": "",
    "cc": "",
    "bcc": "",
    "subject": "",
    "message": "",
    "isHtml": "",
    "formDefId": "",
    "fields": [],
    "files": []
}

web/property/json/(*:appId)/(~:version)/getPropertyOptions

Description
Retrieves the Plugin Properties Options of a plugin with App Definition meta

User Role

Admin

Method

HTTP GET/POST

Parameters

    • appId - App Definition Id
    • version - (Optional) App Defintion version
    • value - Plugin class name

Sample URL

http://localhost:8080/jw/web/property/json/crm/getPropertyOptions?value=org.joget.apps.app.lib.BeanShellTool

Sample Result 

[{
    title: 'Configure Bean Shell',
    properties: [{
        name: 'script',
        label: 'Script',
        type: 'codeeditor',
        required: 'True',
        mode: 'java'
    }]
}]

System

web/json/apps/verify

Description
Verifies a URL is valid

User Role

Admin

Method
HTTP HEAD

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • url - URL to test

Sample URL
http://localhost:8080/jw/web/json/apps/verify?url=http%3A%2F%2Fwww.joget.org

web/json/console/setting/message/list

Description
Retrieves all messages added in Platform Translation

User Role

Admin

Method
HTTP GET/POST

Parameters

    • callback - (Optional) a function (in JavaScript) to call back after invoking this method
    • filter - (Optional) string to filter the results
    • locale - (Optional) language code to filter the results
    • sort - (Optional) column name to be sorted

    • desc - (Optional) Boolean value to determine whether to sort by ascending or descending order (true equals to descending)

    • start - (Optional) where rows start from

    • rows - (Optional) number of rows per page

Sample URL
http://localhost:8080/jw/web/json/console/setting/message/list

Sample Result 

{"total":1,"data":{"message":"搜索","id":"402880824fb19a77014fb5025ed80002","locale":"zh_CN","key":"general.method.label.search"}}

web/json/hash/options

Description
Retrieves all available Hash Variable syntax

User Role

Admin

Method
HTTP GET/POST

Sample URL
http://localhost:8080/jw/web/json/hash/options

Sample Result 

["assignment.activityDefId", "assignment.activityId", "assignment.activityName", "assignment.assigneeId", "assignment.processDefId", "assignment.processId", 
"assignment.processName", "assignment.processRequesterId", "assignment.processVersion", "currentUser.active", "currentUser.email", "currentUser.firstName", 
"currentUser.lastName", "currentUser.timeZone", "currentUser.username", "date.DAY+INTEGER.FORMAT", "date.DAY-INTEGER.FORMAT", "date.FORMAT", "date.MONTH+INTEGER.FORMAT", 
"date.MONTH-INTEGER.FORMAT", "date.YEAR+INTEGER.FORMAT", "date.YEAR-INTEGER.FORMAT", "envVariable.KEY", "form.TABLE.COLUMN", "form.TABLE.COLUMN[PRIMARY_KEY]", "i18n.KEY", 
"performer.ACTIVITY_DEF_ID.active", "performer.ACTIVITY_DEF_ID.email", "performer.ACTIVITY_DEF_ID.firstName", "performer.ACTIVITY_DEF_ID.id", "performer.ACTIVITY_DEF_ID.lastName", 
"performer.ACTIVITY_DEF_ID.timeZone", "performer.ACTIVITY_DEF_ID.username", "request.characterEncoding", "request.contextPath", "request.header.NAME", "request.locale", 
"request.method", "request.pathInfo", "request.protocol", "request.queryString", "request.remoteAddr", "request.requestURI", "request.requestURL", "request.requestedSessionId", 
"request.scheme", "request.serverName", "request.serverPort", "request.servletPath", "requestParam.KEY", "user.USERNAME.active", "user.USERNAME.email", "user.USERNAME.firstName", 
"user.USERNAME.lastName", "user.USERNAME.timeZone", "variable.KEY"]

web/json/workflow/testConnection

Description
To tests a JDBC connection

User Role

Admin

Method
HTTP GET/POST

Parameters

    • datasource - Profile name. Not used.
    • driver - driver name 
    • url - connection URL
    • user - username
    • password - password
    • callback - (Optional) a function (in JavaScript) to call back after invoking this method

Sample URL
http://localhost:8080/jw/web/json/workflow/testConnection?datasource=default&driver=com.mysql.jdbc.Driver&url=jdbc%3Amysql%3A%2F%2Flocalhost%3A3306%2Fjwdb%3FcharacterEncoding%3DUTF-8&user=root&password=

Sample Result 

{"success":true,"datasource":"default"}

Form Data API

web/json/data/form/load/(*:appId)/(*:formId)/(*:primaryKeyValue)

Description
Load a specific form record

User Role

Admin

Method
HTTP GET/POST

Parameters

    • appId - App definition ID
    • formId - Form definition ID 
    • primaryKeyValue - The primary key value for the form record
    • includeSubformData - Optional, set to true to recursively include subform data

    • includeReferenceElements - Optional, set to true to include data from reference elements e.g. selectbox, etc.

    • flatten - Optional, set to true to flatten data into a one level key-value map

Sample URL
http://localhost:8080/jw/web/json/data/form/load/crm/crm_account/001

Sample cURL Request

curl -v -d "j_username=admin&j_password=admin" "http://localhost:8080/jw/web/json/data/form/load/crm/crm_account/001?includeSubformData=true&includeReferenceElements=true&flatten=true"

Sample Response

{
    "country": "",
    "dateCreated": "27-07-2015 04:26 AM",
    "address": "",
    "accountName": "001",
    "city": "",
    "dateModified": "20-10-2016 04:36 AM",
    "id": "001",
    "state": ""
}


web/json/data/form/store/(*:appId)/(*:formId)/(*:primaryKeyValue)

Description
Create or update a form record

User Role

Admin

Method
HTTP POST

Parameters

    • appId - App definition ID
    • formId - Form definition ID 
    • primaryKeyValue - The primary key value for the form record

Sample URL
http://localhost:8080/jw/web/json/data/form/store/crm/crm_account/001

Sample cURL Request

curl -v -X POST -d "j_username=admin&j_password=admin&accountName=001%Updated&address=001%20Address" http://localhost:8080/jw/web/json/data/form/store/crm//crm_account/001

or

curl -v --header "Authorization: Basic YWRtaW46YWRtaW4=" -F "accountName=001 Updated" -F "address=001 Address" http://localhost:8080/jw/web/json/data/form/store/crm//crm_account/001

Sample Response

{
    "id": "001"
}

web/json/data/form/delete/(*:appId)/(*:formId)/(*:primaryKeyValue)

Description
Delete an existing form record

User Role

Admin

Method
HTTP POST

Parameters

    • appId - App definition ID
    • formId - Form definition ID 
    • primaryKeyValue - The primary key value for the form record

Sample URL
http://localhost:8080/jw/web/json/data/form/delete/crm/crm_account/001

Sample cURL Request

curl -v -X POST -d "j_username=admin&j_password=admin" http://localhost:8080/jw/web/json/data/form/delete/crm//crm_account/001

Sample Response

{
    "id": "001"
}

List Data API

web/json/data/list/(*:appId)/(*:listId)

Description
Load records from a specific datalist

User Role

Admin

Method
HTTP GET/POST

Parameters

    • appId - App definition ID
    • listId - Datalist definition ID
    • start - Optional start index (begins at 0)
    • rows - Optional number of rows to return
    • URL Request Parameter - Optional filters (e.g. d-5043735-fn_accountName)

Sample URL
http://localhost:8080/jw/web/json/data/list/crm/crm_account_list

Sample cURL Request

curl -v -d "j_username=admin&j_password=admin" http://localhost:8080/jw/web/json/data/list/crm/crm_account_list?start=0&rows=20&d-5043735-fn_accountName=00

Sample Response

Important Note

The returned attribute "total" will give the the total number of records regardless of the filters applied unless the attribute "Consider filter value when get total size?" is checked in the datalist.

{
    "total": 5,
    "data": [{
        "country": "",
        "accountName": "001 Updated",
        "id": "001",
        "state": ""
    }, {
        "country": "",
        "accountName": "002",
        "id": "002",
        "state": ""
    }, {
        "country": "",
        "accountName": "003",
        "id": "003",
        "state": ""
    }]
}
  • No labels