**Source URL:** https://limited.veevavault.dev/commercial/vault-api/api-reference/24.1/workflows/bulk-active-workflow-actions/initiate-workflow-actions-on-multiple-workflows.md

# Initiate Workflow Actions on Multiple Workflows



Use this request to initiate a workflow action on multiple workflows. This starts an asynchronous job whose status you can check with the Retrieve Job Status endpoint. Maximum 500 workflows per request.

<Endpoint path="/api/{version}/object/workflow/actions/{action}" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `application/x-www-form-urlencoded` |
| `Accept` | `application/json` (default) or `application/xml` |
</FieldTable>

## URI Path Parameters {#uri-path-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `action` | The `name` of the workflow action. To get this value, [Retrieve Bulk Workflow Actions](/vault-api/api-reference/24.1/workflows/bulk-active-workflow-actions/retrieve-bulk-workflow-actions). |
</FieldTable>

## Body Parameters {#body-parameters}

In the body of the request, add any fields required to initiate the action. To find which fields are required for an action, [Retrieve Bulk Workflow Action Details](/vault-api/api-reference/24.1/workflows/bulk-active-workflow-actions/retrieve-bulk-workflow-action-details).

##### Cancel Active Workflows: cancelworkflows {#cancel-active-workflows-cancelworkflows}

<FieldTable>
| Name | Description |
| --- | --- |
| `workflow_ids` | Input a comma-separated list of `workflow_id__v` field values. Maximum 500 workflows. |
| `cancellation_comment` | If this workflow requires a comment for cancellation, use this parameter to provide a comment. |
</FieldTable>

##### Reassign Workflow Tasks: reassigntasks {#reassign-workflow-tasks-reassigntasks}

Note that this action can reassign a maximum of 500 tasks.

<FieldTable>
| Name | Description |
| --- | --- |
| `current_task_assignee` | Input the user ID of the user whose tasks you wish to reassign. You cannot reassign specific tasks for a user, only all tasks currently assigned to a user. |
| `new_task_assignee` | Input the user ID of the user who will receive the newly assigned tasks. |
</FieldTable>

##### Cancel Workflow Tasks: canceltasks {#cancel-workflow-tasks-canceltasks}

When cancelling tasks, you can do so by user ID or task ID. Use one of the following parameters:

<FieldTable>
| Name | Description |
| --- | --- |
| `user_ids` | To cancel tasks by user ID, input a comma-separated list of the user IDs for the users whose tasks you wish to cancel. You cannot cancel specific tasks for a user, only all tasks currently assigned to a user. Maximum 100 user IDs per request. |
| `task_ids` | To cancel tasks by task ID, input a comma-separated list of the task IDs to cancel. You cannot cancel task IDs for a specific user, only all instances of the given task IDs. |
</FieldTable>

##### Replace Workflow Owner: replaceworkflowowner {#replace-workflow-owner-replaceworkflowowner}

<FieldTable>
| Name | Description |
| --- | --- |
| `new_workflow_owner` | Input the ID of the user who will become the new workflow owner. For example, `54937`. |
| `current_workflow_owner` | Input the ID of the user who is the current workflow owner. For example, `87944`. |
</FieldTable>

## Request {#request}

<CodeExample title="">
```
curl -L -X POST -H "Authorization: {SESSION_ID}" \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'workflow_ids=2903,2904,2905' \
https://myvault.veevavault.com/api/v20.2/object/workflow/actions/cancelworkflows

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
   "responseStatus": "SUCCESS",
   "data": {
       "job_id": 93601
   }
}

```
</CodeExample>

## Response Details {#response-details}

On `SUCCESS`, the response returns the `job_id` for the action, and the authenticated user will receive an email notification with details of any failures that occur. On `FAILURE`, the response returns an [error](/vault-api/api-reference/24.1/errors) `type` and `message` describing the reason for the failure. For example, the API returns `INVALID_DATA` if a task cannot be reassigned because the new task assignee is not in the appropriate role.



---

**Previous:** [Retrieve Bulk Workflow Action Details](/commercial/vault-api/api-reference/24.1/workflows/bulk-active-workflow-actions/retrieve-bulk-workflow-action-details)  
**Next:** [Document Lifecycle & Workflows](/commercial/vault-api/api-reference/24.1/document-lifecycle-workflows)