---
title: "Accept project transfer request"
method: PUT
path: "/projects/transfer-request/{code}"
tags: ["projects"]
---

# Accept project transfer request

`PUT /projects/transfer-request/{code}`

## Request

- Base URL: `https://api.vercel.com`
- URL: `https://api.vercel.com/projects/transfer-request/{code}`
- Auth: HTTP bearer

Accept a project transfer request initated by another team. <br/> The `code` is generated using the `POST /projects/:idOrName/transfer-request` endpoint.

## Path parameters

- `code` string, required: The code of the project transfer request.

## Query parameters

- `teamId` string
- `slug` string

## Request body

- object
  - `newProjectName` string: The desired name for the project
  - `paidFeatures` object
    - `concurrentBuilds` integer, nullable
    - `passwordProtection` boolean, nullable
    - `previewDeploymentSuffix` boolean, nullable
  - `acceptedPolicies` object

## Response `202`

The project has been transferred successfully.

- object
  - `partnerCalls` object[], required
    - `installationId` string, required
    - `resourceIds` string[], required
    - `result` object, required
      - `code` string
      - `error` object
      - `status` 'errored' | 'fulfilled', required
  - `projectName` string, required
  - `resourceTransferErrors` object[], required
  - `transferredStoreIds` string[], required

## Other responses

- `400`: One of the provided values in the request body is invalid. One of the provided values in the request query is invalid.
- `401`: The request is not authorized.
- `403`: You do not have permission to access this resource.
- `404`
- `410`
- `422`

## Changes

- **2026-10-09** `336a06c75674`: 1 breaking, 5 info
  - the response's body type changed from no type to `object` for status `202`
  - removed `subschema #1, subschema #2` from the response body `oneOf` list for the response status `202`
  - added the required property `partnerCalls` to the response with the `202` status
  - added the required property `projectName` to the response with the `202` status
  - …2 more
- **2026-07-21** `2ae10ee9d21c`: 1 info
  - added the non-success response with the status `410`
- **2025-11-28** `45991e5c8b6d`: 1 info
  - added the required property `oneOf[subschema #1]/transferredStoreIds` to the response with the `202` status
- **2025-10-09** `50caddad4ae7`: 2 breaking, 2 info
  - added `subschema #1, subschema #2` to the response body `oneOf` list for the response status `202`
  - the response's body type changed from `object` to no type for status `202`
  - added the new optional request property `acceptedPolicies`
  - added the non-success response with the status `422`
- **2025-04-22** `661a2f6357c1`: 1 info
  - removed the pattern `^(?!.*---)[a-z0-9-_.]+$` from the request property `newProjectName`

[Operation history](https://skmtc.dev/vercel/apis/vercel-api/changes/projects/transfer-request/:code/put.md)

---

[API](https://skmtc.dev/vercel/apis/vercel-api.md) - [All operations](https://skmtc.dev/vercel/apis/vercel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vercel/apis/vercel-api/revisions/60686c0e1f6a?raw)
