**Source URL:** https://limited.veevavault.dev/quality/vault-api/api-reference/26.2/qms/migrate-quality-team-members.md

# Migrate Quality Team Members



Migrate multiple *Quality Team* member assignments from one Vault to another. Vault creates *Quality Team* member records asynchronously on behalf of the user. This endpoint does not support deleting or updating existing *Quality Team* assignments. Learn more about [working with Quality Teams in Vault Help](https://quality.veevavault.help/en/lr/52842).

Your security profile and permission set must grant permission to manage the *Quality Team* object.

* The maximum CSV input file size is 50 MB.

* The values in the input must be UTF-8 encoded.

* CSVs must follow the standard RFC 4180 format, with some [exceptions](/vault-api/references/csv-rfc-deviations).

* The maximum batch size is 500.

This endpoint respects the following validations when creating *Quality Team* assignments:

* Maximum number of users allowed per role

* The assigned application role must exist

* The assigned user must be active

* Duplicate assignments are skipped

This endpoint bypasses the following validations when creating *Quality Team* assignments:

* Constraining roles

* Cascading rules

* Team completeness (allows for partial team assignments)

* Exclusive role membership

* Linked role fields

<Endpoint path="/api/{version}/qms/teams/vobjects/{object_name}/actions/migration" method="POST"></Endpoint>

## Headers {#headers}

| Name | Description |
| --- | --- |
| `Content-Type` | `text/csv` |
| `Accept` | `application/json` |

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

| Name | Description |
| --- | --- |
| `{object_name}` | The object `name__v` field value for the team member object. For example, `lab_investigation_quality_team_member__v`, `change_action_quality_team_member__v`. |

## Body Parameters {#body-parameters}

| Name | Description |
| --- | --- |
| `file` | The filepath to upload the CSV file. |

#### Example CSV Input {#example-csv-input}

Prepare a CSV input file with three (3) columns for the team-enabled record, assigned user, and application role. The fields may differ from the example below, however, the chosen fields must be text fields (not ID), unique, and their value less than 1,500 characters. Records must be grouped by their team-enabled record. For example, all *Quality Team* member assignments for record `QE-000001` must be in the same batch.

| `quality_event__qdm.name__v` | `user__sys.global_id__sys` | `application_role__v.api_name__v` |
| --- | --- | --- |
| QE-000001 | 146478_1934526 | record_owner__c |
| QE-000001 | 146478_1934507 | sme__c |
| QE-000001 | 146478_1934609 | qa__c |

## Request {#request}

<CodeExample title="">
```
curl -X POST -H "Authorization: {AUTH_VALUE}" \
-H "Content-Type: text/csv" \
-H "Accept: text/csv" \
-F 'file=@"create_quality_team_members.csv"' \
https://myvault.veevavault.com/api/v25.3/qms/teams//vobjects/lab_investigation_quality_team_member__v/actions/migration

```
</CodeExample>

## Response {#response}

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

```
</CodeExample>

## Response Details {#response-details}

On `SUCCESS`, the response returns the `jobId` for the action, and the authenticated user receives an email and Vault notification with a CSV file of the results of the operation. Partial success is allowed, meaning some *Quality Team* assignments in the batch may succeed while others fail. For any failed assignments, the results CSV file includes a reason for the failure.



---

**Previous:** [Manage Quality Team Assignments](/quality/vault-api/api-reference/26.2/qms/manage-quality-team-assignments)  
**Next:** [Associate Auditor Roles](/quality/vault-api/api-reference/26.2/qms/associate-auditor-roles)