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

# 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" />

## Headers

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

## URI Path Parameters

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

## 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](/safety/vault-api/api-reference/26.1/workflows/bulk-active-workflow-actions/retrieve-bulk-workflow-action-details).

##### Cancel Active Workflows: cancelworkflows

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

##### Reassign Workflow Tasks: reassigntasks

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

<FieldTable>
| Name | Description |
| --- | --- |
| `current_task_assignee`<Requiredness type="required" /> | 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`<Requiredness type="required" /> | Input the user ID of the user who will receive the newly assigned tasks. |
</FieldTable>

##### 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`<Requiredness type="conditional" /> | 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`<Requiredness type="conditional" /> | 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

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

## Request

<CodeExample title="">
```bash
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

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

## 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](/safety/vault-api/api-reference/26.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](/safety/vault-api/api-reference/26.1/workflows/bulk-active-workflow-actions/retrieve-bulk-workflow-action-details)  
**Next:** [Document Lifecycle and Workflows](/safety/vault-api/api-reference/26.1/document-lifecycle-workflows)