**Source URL:** https://general.veevavault.dev/clinical/vault-api/api-reference/26.1/workflows/workflow-tasks/complete-multi-item-workflow-task.md

# Complete Multi-item Workflow Task



Complete an open workflow task for a multi-item workflow. This endpoint does not support initiating task actions requiring eSignatures (where `esignature` is `true`). To provide multiple verdicts for items without completing an open workflow task, use [Manage Multi-item Workflow Content](/vault-api/api-reference/26.1/workflows/workflow-tasks/manage-multi-item-workflow-content).

<Endpoint path="/api/{version}/objects/objectworkflows/tasks/{task_id}/actions/mdwcomplete" method="POST"></Endpoint>

## Headers {#headers}

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

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

<FieldTable>
| Name | Description |
| --- | --- |
| `{task_id}` | The task `id` field value. |
</FieldTable>

## Body Parameters {#body-parameters}

Controls with `required=true` in the [Retrieve Workflow Task Action Details](/vault-api/api-reference/26.1/workflows/workflow-tasks/retrieve-workflow-task-action-details) response must be provided. If a control (such as `verdict`) defines a set of required fields, those must also be provided. For example, a specific verdict may prompt for comments, reasons, or capacities.

For workflows where `type` is set to `multidocworkflow` and `cardinality` is set to `One`, Vault pre-populates document field values in field prompts. If you include keys for field prompts without values, Vault submits a blank field value on the document.

In the body of the request, upload parameters as a JSON file. This request may require the following body parameters:

<FieldTable>
| Name | Description |
| --- | --- |
| `verdict_public_key__c` | The verdict name. Retrieve possible verdict `name` values by sending a request to [Retrieve Workflow Task Action Details](/vault-api/api-reference/26.1/workflows/workflow-tasks/retrieve-workflow-task-action-details). |
| `reason__c` | The reason name. Retrieve possible reason `name` values by sending a request to [Retrieve Workflow Task Action Details](/vault-api/api-reference/26.1/workflows/workflow-tasks/retrieve-workflow-task-action-details). |
| `capacity__c` | The capacity name. Retrieve possible capacity `name` values by sending a request to [Retrieve Workflow Task Action Details](/vault-api/api-reference/26.1/workflows/workflow-tasks/retrieve-workflow-task-action-details). |
</FieldTable>

## Request: Single Verdict {#request-single-verdict}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
--data-raw '[
    {
        "verdict_public_key__c": "verdict_not_approved__c",
        "verdict_not_approved_comment__c": "Needs to be redone."
    }
]' \
https://myvault.veevavault.com/api/v25.1/objects/objectworkflows/tasks/9626/actions/mdwcomplete

```
</CodeExample>

## Request: Multiple Verdicts {#request-multiple-verdicts}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
--data-raw '[
    {
        "task_comment__v": "Some of these batches need to be reprocessed.",
        "contents__sys": [
            {
                "object__v": "batch__v",
                "record_id__v": "0BA000000000101",
                "verdict_public_key__c": "verdict_not_approved__c",
                "verdict_not_approved_comment__c": "Needs to be redone."
            },
            {
                "object__v": "batch__v",
                "record_id__v": "0BA000000002001",
                "verdict_public_key__c": "verdict_approved__c"
            },
            {
                "object__v": "batch__v",
                "record_id__v": "0BA000000002002",
                "verdict_public_key__c": "verdict_not_approved__c",
                "verdict_not_approved_comment__c": "Does not meet standards."
            }
        ]
    }
]' \
https://myvault.veevavault.com/api/v25.1/objects/objectworkflows/tasks/9626/actions/mdwcomplete

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
    "responseStatus": "SUCCESS"
}

```
</CodeExample>

## Response Details {#response-details}

On `SUCCESS`, Vault completes the workflow task on behalf of the authenticated user.



---

**Previous:** [Undo Workflow Task Acceptance](/clinical/vault-api/api-reference/26.1/workflows/workflow-tasks/undo-workflow-task-acceptance)  
**Next:** [Complete Single Record Workflow Task](/clinical/vault-api/api-reference/26.1/workflows/workflow-tasks/complete-single-record-workflow-task)