---
title: "Merge Wallets"
method: PATCH
path: "/services/wallet/{victimWalletId}/merge/{survivorWalletId}"
tags: ["Services"]
---

# Merge Wallets

`PATCH /services/wallet/{victimWalletId}/merge/{survivorWalletId}`

This API method allows the calling application to Merge two existing Wallets of the same type. All Identities except DELETED from the Victim Wallet will be moved to the Survivor Wallet. All Accounts (Coupon, Stored Value, Loyalty,  Subscription and Entitlement), except EXPIRED and CANCELLED, from the Victim Wallet will be moved to the Survivor Wallet. For Stored Value and Loyalty Accounts, if the same Account exists in the Survivor Wallet then balances will be transferred into appropriate Accounts in the Survivor Wallet. All Invites will be moved from the Victim to the Survivor Wallet. All Transactions will be moved from the Victim to the Survivor Wallet. No Wallet Consumer changes will be made in either wallet. Please note&#58; this endpoint might return a 207 Error (Multi-Status) in case of some move operation failures (e.g. Wallet Config permits only up to two Identities)

## Path parameters

- `victimWalletId` string, string, required
- `survivorWalletId` string, string, required

## Request body

- EmptyPatchPayload

## Response `200`

OK

- WalletEntity
  - `walletId` string, required — Wallet ID
  - `friendlyName` string, required — Friendly Name of the Wallet
  - `status` 'ACTIVE' | 'SUSPENDED' | 'INACTIVE', required — Status of the Wallet.
  - `type` string, required — `TYPE` of that particular wallet. Could be defined per AIR Tenant as part of the Client Onboarding process and then used, if this list is not defined only NULL values are available.
  - `state` string, required — `STATE` of that particular wallet. Could be defined per AIR Tenant as part of the Client Onboarding process and then used, if this list is not defined only NULL values are available.
  - `relationships` WalletRelationshipsEntity, required
    - `parent` string[] — an Array of Wallet IDs that current Wallet should be / is parent
    - `child` string[] — an Array of Wallet IDs that current Wallet should be / is child
    - `associate` string[] — an Array of existing Wallet IDs that current Wallet should be / is associated to
    - `donor` string[] — an Array of existing Wallet IDs that current Wallet is donating into
  - `meta` MetaEntity, required
    - `key1` string — Meta 1 property, up to 250 characters; up to 750 characters for Key 1 Value
    - `key2` string — Meta 2 property, up to 250 characters; up to 750 characters for Key 2 Value
  - `dateCreated` string, date-time, required — Wallet creation date time
  - `lastUpdated` string, date-time, required — Wallet last updated date time

## Other responses

- `207` — Multi-Status
- `400` — Bad Request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Not Found
- `409` — Conflict
- `415` — Unsupported Media Type
- `423` — Locked
- `429` — Too Many Requests
- `500` — Server Error

---

[API](https://skmtc.net/eagleeye/apis/wallet-api.md) · [All operations](https://skmtc.net/eagleeye/apis/wallet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eagleeye/wallet-api/revisions/90a122bb14cc/schema)
