# Start sub process
> Obtain the list of sub processes ,Start sub process

![Process operation](../../assets/img/rest/flowaction/subflow.png)
## Obtain the list of sub processes 
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": "",
  "trackId": "HZ28858f8113f08b0181197e34a204ea",
  "workId": "HZ28858f8113f08b0181197e34a204e9",
  "actionData": {
    "operate": "subflow",
    "operateClazz": "com.horizon.wf.action.ActionStartMultiSubFlow"
  }
}
```
Request parameter description:

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

| Parameter    | Required | Description:                                                        |
|--------------|----------|---------------------------------------------------------------------|
| operate      | Yes      | 'Start sub process' operation identification, fixed value:'subflow' |
| operateClazz | Yes      | 'Start sub process' operation class path                            |

**Example of returned results:**
```
{
  "operate": "subflow",
  "operateClazz": "com.horizon.wf.action.ActionStartMultiSubFlow",
  "operateFlag": "0",
  "operateMsg": "Need to select a sub process",
  "operateStatus": "selectSubflow",
  "status": 15,
  "subFlows": [
    {
      "authors": {
        "authorId": "Author",
        "authorName": "Primary",
        "isDefUser": "false",
        "isFree": "true",
        "isSelect": "true",
        "isUser": "false",
        "selectType": "radio"
      },
      "isSelect": "false",
      "isStarted": "false",
      "selectType": "radio",
      "subFlowId": "subFlow",
      "subFlowName": "Sub process"
    }
  ],
  "trackId": "HZ28858f8113f08b0181197e34a204ea",
  "workId": "HZ28858f8113f08b0181197e34a204e9"
}
```
**Result parameter description:**

| Parameter     | Type                                           | Description:                                                               |
|---------------|------------------------------------------------|----------------------------------------------------------------------------|
| operateFlag   | String                                         | Operation flag -1: Display closed, 0: Normal submission, 1: Pre submission |
| operateMsg    | String                                         | Process operation return information                                       |
| operateStatus | String                                         | Process operation results                                                  |
| reOpen        | String                                         | Whether to reopen, can be ignored                                          |
| status        | int                                            | Process operation status code                                              |
| operate       | String                                         | 'Start sub process' operation identification                               |
| operateClazz  | String'Start sub process' operation class path |
| workId        | String                                         | Instance ID                                                                |
| subFlows      | List                                           | Sub process parameter                                                      |
subFlows parameter description：

| Parameter   | Type   | Description:                                                                                 |
|-------------|--------|----------------------------------------------------------------------------------------------|
| subFlowId   | String | Sub process ID                                                                               |
| subFlowName | String | Sub process  name                                                                            |
| isStarted   | String | Has the sub process been started?                                                            |
| authors     | Object | Authors parameter of process operator                                                        |
| isSelect    | String | Is selected?                                                                                 |
| selectType  | String | Operator selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
authors  parameter description：

| Parameter  | Type   | Description:                                                                                 |
|------------|--------|----------------------------------------------------------------------------------------------|
| authorId   | String | Operator ID                                                                                  |
| authorName | String | Operator name,fixed value: Primary,Secondary,Reader                                          |
| selectType | String | Operator selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
| isFree     | String | Whether to select freely                                                                     |
| isUser     | String | Is it allowed to only select user?                                                           |
| isDefUser  | String | Select from the organization library of process node attributes                              |
| isSelect   | String | Is it allowed to select the operator                                                         |

## Start sub process
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": "HZ28858f8113f08b0181199b8b19050d",
  "trackId": "HZ28858f8113f08b0181199b8b1a050e",
  "actionData": {
    "operate": "subflow",
    "operateClazz": "com.horizon.wf.action.ActionStartMultiSubFlow",
    "subFlows": [
        {
        "authors": {
            "authorId": "Author",
            "authorName": "Primary",
            "isDefUser": "false",
            "isFree": "true",
            "isSelect": "true",
            "isUser": "false",
            "selectType": "radio",
            "selectAuthor": "U_HZ28821856ef63420156ef6342a20002/D_HZ28821856ef63420156ef6342a20001",
            "selectAuthorName": "User01(Test Department0)"
        },
        "isSelect": "true",
        "isStarted": "false",
        "selectType": "radio",
        "subFlowId": "subFlow",
        "subFlowName": "Sub process"
        }
    ]
  }
}
```
Request parameter description:

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

| Parameter    | Required | Description:                                   |
|--------------|----------|------------------------------------------------|
| operate      | Yes      | Operation identification,fixed value:'subflow' |
| operateClazz | Yes      | 'Start sub process' operation class path       |
| subFlows     | Yes      | Sub process parameter                          |
subFlows parameter description：

| Parameter   | Required | Description:                                                                                 |
|-------------|----------|----------------------------------------------------------------------------------------------|
| subFlowId   | Yes      | Sub process ID                                                                               |
| subFlowName | Yes      | Sub process name                                                                             |
| isStarted   | Yes      | Has the sub process been started?                                                            |
| authors     | Yes      | Authors parameter of process operator                                                        |
| isSelect    | Yes      | Is selected?                                                                                 |
| selectType  | Yes      | Operator selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
authors  parameter description：

| Parameter        | Required | Description:                                                                                 |
|------------------|----------|----------------------------------------------------------------------------------------------|
| authorId         | Yes      | ID of operator type , limit value. Author: Primary; SecondAuthor: Secondary; Reader: Reader  |
| authorName       | Yes      | Name of operator type , limit value. Primary;Secondary;Reader                                |
| selectType       | Yes      | Operator selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
| isFree           | Yes      | Whether to select freely                                                                     |
| isUser           | Yes      | Is it allowed to select the user?                                                            |
| isDefUser        | Yes      | Select from the organization library of process node attributes                              |
| isSelect         | Yes      | Is it allowed to select the operator?                                                        |
| selectAuthor     | Yes      | The selected operator ID of the node                                                         |
| selectAuthorName | Yes      | The selected operator name of the node                                                       |
**Example of returned results:**
```
{
  "alert": "true",
  "operate": "subflow",
  "operateClazz": "com.horizon.wf.action.ActionStartMultiSubFlow",
  "operateFlag": "1",
  "operateMsg": "Started sub process successfully",
  "operateStatus": "success",
  "reOpen": "false",
  "status": 0,
  "subFlows": [
    {
      "authors": {
        "authorId": "Author",
        "authorName": "Primary",
        "isDefUser": "false",
        "isFree": "true",
        "isSelect": "true",
        "isUser": "false",
        "selectAuthor": "U_HZ28821856ef63420156ef6342a20002/D_HZ28821856ef63420156ef6342a20001",
        "selectAuthorName": "User01(Test Department0)",
        "selectType": "radio"
      },
      "isSelect": "true",
      "isStarted": "false",
      "selectType": "radio",
      "subFlowId": "subFlow",
      "subFlowName": "Sub process"
    }
  ],
  "trackId": "HZ28858f8113f08b0181199b8b1a050e",
  "workId": "HZ28858f8113f08b0181199ca7960520"
}
```
**Result parameter description:**

| Parameter     | Type   | Description:                                                               |
|---------------|--------|----------------------------------------------------------------------------|
| alert         | String | Whether to pop up a successful operation message, can be ignored           |
| operate       | String | 'Start sub process' operation identification                               |
| operateClazz  | String | 'Start sub process' operation class path                                   |
| operateFlag   | String | Operation flag -1: Display closed, 0: Normal submission, 1: Pre submission |
| operateMsg    | String | Process operation return information                                       |
| operateStatus | String | Process operation results                                                  |
| reOpen        | String | Whether to reopen, can be ignored                                          |
| status        | int    | Process operation status code                                              |
| subFlows      | List   | Sub process parameter                                                      |
| workId        | String | Instance ID                                                                |
| trackId       | String | Track id                                                                   |
subFlows parameter description：

| Parameter   | Type   | Description:                                                                                 |
|-------------|--------|----------------------------------------------------------------------------------------------|
| subFlowId   | String | Sub process ID                                                                               |
| subFlowName | String | Sub process name                                                                             |
| isStarted   | String | Is started?                                                                                  |
| authors     | Object | Authors parameter of process operator                                                        |
| isSelect    | String | Is selected?                                                                                 |
| selectType  | String | Operator selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
authors  parameter description：

| Parameter        | Type   | Description:                                                                                 |
|------------------|--------|----------------------------------------------------------------------------------------------|
| authorId         | String | ID of operator type , limit value. Author: Primary; SecondAuthor: Secondary; Reader: Reader  |
| authorName       | String | Name of operator type , limit value. Primary;Secondary;Reader                                |
| selectType       | String | Operator selection type, limited value. Radio: Single selection;Checkbox: Multiple selection |
| isFree           | String | Whether to select freely                                                                     |
| isUser           | String | Is it allowed to select the user?                                                            |
| isDefUser        | String | Select from the organization library of process node attributes                              |
| isSelect         | String | Is it allowed to select the operator?                                                        |
| selectAuthor     | String | The selected operator ID of the node                                                         |
| selectAuthorName | String | The selected operator name of the node                                                       |