#Free Submit{docsify-ignore-all}

Interface Request Invoking Description<br>
HTTP Request Method: POST <br>
Request Address: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action${suffix} <br>
**Post data description:**
```
{
  "accessToken": "",
  "workId": "HZ28858f8103505e018113bf63a80505",
  "trackId": "HZ28858f8103505e018113bf63a80506",
  "actionData": {
    "operate": "freesubmit",
    "operateClazz": "com.horizon.wf.action.ActionSubmitForFree",
    "operateFlag": 0,
    "freeNode": {
      "nodeName": "Test Free Submit Node",
      "axisX": "",
      "axisTypeX": "absolute-x",
      "axisY": "",
      "axisTypeY": "absolute-y",
      "authors": {
        "Author": {
          "authorId": "Author",
          "isDefUser": "false",
          "isFree": "true",
          "isSelect": "true",
          "isUser": "false",
          "selectType": "checkbox",
          "selectAuthor": "U_admin/D_HZ28821856ef63420156ef63429c0000",
          "selectAuthorName": "Admin(Huizheng Software)"
        },
        "SecondAuthor": {
          "authorId": "SecondAuthor",
          "isDefUser": "false",
          "isFree": "true",
          "isSelect": "true",
          "isUser": "false",
          "selectType": "checkbox",
          "selectAuthor": "U_HZ28821856ef63420156ef6342a20002/D_HZ28821856ef63420156ef6342a20001",
          "selectAuthorName": "User01(Test Department0)"
        },
        "Reader": {
          "authorId": "Reader",
          "isDefUser": "false",
          "isFree": "true",
          "isSelect": "true",
          "isUser": "false",
          "selectType": "checkbox",
          "selectAuthor": "U_HZ28821856ef63420156ef6342a20003/D_HZ28821856ef63420156ef6342a20001",
          "selectAuthorName": "User02(Test Department0)"
        }
      },
      "timeLimit": "0",
      "timeLimitType": "0"
    }
  }
}
```
Request Parameter Description:

| Parameter   | Required | Description                                    |
|-------------|----------|------------------------------------------------|
| accessToken | Yes      | Invoking interface credentials, unique user ID |
| workId      | Yes      | Instance ID                                    |
| trackId     | Yes      | Flow track ID                                  |
| actionData  | Yes      | Process operation JSON data                    |
actionData Parameter :

| Parameter    | Required | Description                                                                                   |
|--------------|----------|-----------------------------------------------------------------------------------------------|
| operate      | Yes      | Free submission operation ID, fixed value 'Freesubmit'                                        |
| operateClazz | Yes      | Free submission operation class path, fixed value 'com.horizon.wf.action.ActionSubmitForFree' |
| operateFlag  | Yes      | Operation flag, fixed value '0'                                                               |
| freeNode     | Yes      | Virtual node information                                                                      |
feeNodeParameter Description：

| Parameter     | Required | Description                                                                                                                                                                                                                                       |
|---------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| nodeName      | Yes      | Node Name                                                                                                                                                                                                                                         |
| axisTypeX     | No       | Fixed value:Absolute x                                                                                                                                                                                                                            |
| axisX         | No       | Horizontal ordinate of virtual node generated on the process design panel                                                                                                                                                                         |
| axisTypeY     | No       | Fixed value:Absolute-y                                                                                                                                                                                                                            |
| axisY         | No       | Vertical ordinate of virtual node generated on the process design panel                                                                                                                                                                           |
| authors       | Yes      | In the next node's operator object, the keys are Secondary operator, Reader, and Author, and the value is the Primary/Secondary/Reader object parameter. When there are no Secondary/Readers, the Secondary/Reader object parameter can be empty. |
| timeLimit     | No       | Node processing deadline                                                                                                                                                                                                                          |
| timeLimitType | No       | Processing time limit type, 0: Calendar day;1: working day.                                                                                                                                                                                       |
Primary/Secondary/Reader Object Parameter Description in Authors：

| Parameter        | Required | Description                                                                                   |
|------------------|----------|-----------------------------------------------------------------------------------------------|
| authorId         | No       | Operator ID, Author: Primary operator; SecondAuthor: Secondary operator; Reader: Reader       |
| isDefUser        | No       | Select from the process definition list                                                       |
| isFree           | No       | Whether to choose freely?                                                                     |
| isSelect         | No       | Is it allowed to select the operator?                                                         |
| isUser           | No       | Is it allowed to only select personnel?                                                       |
| selectType       | No       | Personnel selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
| selectAuthor     | Yes      | The selected operator ID of the node                                                          |
| selectAuthorName | Yes      | The selected operator name of the node                                                        |
**Example of returned results:**
```
{
  "freeNode": {
    "authors": {},
    "axisTypeX": "absolute-x",
    "axisTypeY": "absolute-y",
    "axisX": "",
    "axisY": "",
    "nodeName": "Test virtual node",
    "timeLimit": "0",
    "timeLimitType": "0"
  },
  "nextNodeId": "Line7~Node6",
  "nextNodes": [
    {
      "authors": {
        "SecondAuthor": {
          "authorFlowVar": "",
          "authorId": "SecondAuthor",
          "authorName": "Assistant",
          "freeArea": "",
          "isDefUser": "false",
          "isFree": "true",
          "isSelect": "false",
          "isUser": "false",
          "selectAuthor": "U_HZ28821856ef63420156ef6342a20002/D_HZ28821856ef63420156ef6342a20001",
          "selectAuthorName": "User01(Test Department0)",
          "selectType": "checkbox"
        },
        "Reader": {
          "authorFlowVar": "",
          "authorId": "Reader",
          "authorName": "Reader",
          "freeArea": "",
          "isDefUser": "false",
          "isFree": "true",
          "isSelect": "false",
          "isUser": "false",
          "selectAuthor": "U_HZ28821856ef63420156ef6342a20003/D_HZ28821856ef63420156ef6342a20001",
          "selectAuthorName": "User02(Test Department0)",
          "selectType": "checkbox"
        },
        "Author": {
          "authorFlowVar": "",
          "authorId": "Author",
          "authorName": "Operator",
          "freeArea": "",
          "isDefUser": "false",
          "isFree": "true",
          "isSelect": "false",
          "isUser": "false",
          "selectAuthor": "U_admin/D_HZ28821856ef63420156ef63429c0000",
          "selectAuthorName": "Admin(Huizheng Software)",
          "selectType": "radio"
        }
      },
      "isDone": "false",
      "isSelect": "true",
      "memo": "",
      "nodeGroup": "",
      "nodeId": "Node6",
      "nodeKey": "Line7",
      "nodeName": "Test virtual node",
      "nodeStatus": "0",
      "selectId": "Line7~Node6",
      "selectName": "NewRoute7(Test Virtual Node)",
      "timeLimit": "0",
      "timeLimitType": "0"
    }
  ],
  "operate": "freesubmit",
  "operateClazz": "com.horizon.wf.action.ActionSubmitForFree",
  "operateFlag": "0",
  "operateMsg": "Submitted successfully",
  "operateStatus": "success",
  "reOpen": "true",
  "status": 0,
  "trackId": "HZ28858f8103505e018113bf63a80506",
  "workId": "HZ28858f8103505e018113bf63a80505"
}
```
**Result parameter description:**

| Parameter     | Type   | Description                                                    |
|---------------|--------|----------------------------------------------------------------|
| freeNode      | Object | Parameter information of virtual nodes during free submission. |
| nextNodeId    | String | Virtual node id，Generate automatically                         |
| nextNodes     | List   | Parameter information  of free submission                      |
| operate       | String | Operation ID of free submission                                |
| operateClazz  | String | Operation class path of free submission                        |
| operateStatus | String | Process operation results                                      |
| operateFlag   | String | Operation flag, 1: closed, 0, 1: normal submission             |
| operateMsg    | String | Return operation information                                   |
| reOpen        | String | Reopen it?                                                     |
| status        | int    | Operation returns status value of free submission              |
| trackId       | String | Flow track ID                                                  |
| workId        | String | Instance ID                                                    |
freeNode Parameter Description：

| Parameter | Required | Description                                                               |
|-----------|----------|---------------------------------------------------------------------------|
| nodeName  | String   | Node name                                                                 |
| axisTypeX | String   | Fixed value:Absolute-x                                                    |
| axisX     | String   | Horizontal ordinate of virtual node generated on the process design panel |
| axisTypeY | String   | Fixed value:Absolute-y                                                    |
| axisY     | String   | Vertical ordinate of virtual node generated on the process design panel   |
*nextNodes  Parameter Description：*

| Parameter     | Type   | Description                                                                                                                                                                                                                  |
|---------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| nodeKey       | String | Node primary key                                                                                                                                                                                                             |
| selectId      | String | Node ID to be selected                                                                                                                                                                                                       |
| selectName    | String | Node name to be selected                                                                                                                                                                                                     |
| isSelect      | String | Has it been selected?                                                                                                                                                                                                        |
| isDone        | String | Has it already passed by?                                                                                                                                                                                                    |
| nodeGroup     | String | When submitting freely, if there are no multiple branches in the current instance, this value is empty. If there are multiple branches, this value returns the node ID of the previous node to bind the grouping information |
| isShowTabs    | String | Whether to display the operator tab?                                                                                                                                                                                         |
| timeLimit     | String | Node processing deadline                                                                                                                                                                                                     |
| timeLimitType | String | Processing time limit type, 0: Calendar day; 1: working day                                                                                                                                                                  |
| nodeStatus    | String | Node status, 0. Successful; 1. Select operator;2. Select node;3. Cannot find operator;4. Cannot find next node.                                                                                                              |
| authors       | Map    | The key in the operator map of the next node is assistant, reader, and operator, and value is the Operator/Assistant/Reader object parameter.                                                                                |
| memo          | String | memo                                                                                                                                                                                                                         |
*Operator/Assistant/Reader parameter description in authors：*

| Parameter        | Type   | Description                                                                                   |
|------------------|--------|-----------------------------------------------------------------------------------------------|
| authorId         | String | Operator ID（Primary/Secondary/Reader）                                                         |
| authorName       | String | Operator name：Primary/Secondary/Reader                                                        |
| selectType       | String | Operator selection type, limited value, Radio: Single selection; Checkbox: Multiple selection |
| isFree           | String | Whether to choose freely                                                                      |
| isUser           | String | Is it allowed to only select personnel                                                        |
| isDefUser        | String | Select from the process definition list                                                       |
| isSelect         | String | Is it allowed to select the operator？                                                         |
| selectAuthor     | String | Node operator ID  that has been selected                                                      |
| selectAuthorName | String | Node operator name  that has been selected                                                    |

