> ## Documentation Index
> Fetch the complete documentation index at: https://developers.pcibooking.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfer Ownership

> Transfer ownership of a token to another PCI Booking customer.

<Card title="Third-Party Permissions Guide" icon="book" href="/manage-tokens/third-party-permissions">
  Learn how to share tokens with other PCI Booking customers
</Card>

Permanently transfers ownership of a token from your PCI Booking account to another customer's account. After the transfer, the original owner loses all access to the token and the new owner gains full control.

<Info>
  Transferring ownership does not change the token's CVV retention policy. It keeps whatever policy was set (or defaulted) at creation - it does not switch to the new owner's account-wide default. See [CVV Retention Policy](/capture-cards/cvv-retention-policy).
</Info>

## Error Responses

| Code | HTTP Status | Condition |
| - | - | - |
| -1003 | 401 | User is not the owner |
| -179 | 400 | externalUserId is empty |
| -179 | 400 | Recipient user does not exist |
| -179 | 400 | Cannot transfer to same account |

## Parameters

### Authentication

**API key only.** This endpoint does not accept access tokens or session tokens.

<ParamField header="Authorization" type="string" required>
  Your API key prefixed with `APIKEY`. Example: `APIKEY your-api-key`. The `x-pcibooking-api-key` header is also accepted. See the [Authentication guide](/getting-started/authentication).
</ParamField>

### Path Parameters

<ParamField path="cardToken" type="string" required>
  The token ID as returned by one of the tokenization methods.
</ParamField>

<ParamField path="AltCustomer" type="string" required>
  The user ID in PCI Booking of the customer to transfer ownership to.
</ParamField>

<RequestExample>
  ```javascript Node.js theme={null}
  const response = await fetch(
    'https://service.pcibooking.net/api/payments/paycard/2821a46d80e14d1b96a7f18f1b81926d/externalUser/recipient-user-456',
    {
      method: 'PUT',
      headers: {
        'Authorization': 'APIKEY your-api-key'
      }
    }
  );

  console.log(response.status);
  ```

  ```python Python theme={null}
  import requests

  response = requests.put(
      'https://service.pcibooking.net/api/payments/paycard/2821a46d80e14d1b96a7f18f1b81926d/externalUser/recipient-user-456',
      headers={'Authorization': 'APIKEY your-api-key'}
  )

  print(response.status_code)
  ```
</RequestExample>

## Response

<ResponseExample>
  ```text 200 theme={null}
  Ownership transferred successfully. No content returned.
  ```

  ```json 400 theme={null}
  {
      "code": -125,
      "message": "Bad input data",
      "moreInfo": "Could not find a valid user",
      "errorList": null
  }
  ```

  ```json 401 theme={null}
  {
      "code": -1003,
      "message": "You are not authorized to access this resource. Please contact customer support.",
      "moreInfo": "User is not the owner of this bank card",
      "errorList": null
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.