> ## 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.

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

### Headers

<ParamField header="Authorization" type="string" required>
  Your API key prefixed with `APIKEY`. Example: `APIKEY your-api-key`. 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": "Not authorized to access this resource",
      "moreInfo": "User is not the owner of this bank card",
      "errorList": null
  }
  ```
</ResponseExample>
