---
title: "Bulk Delete Wallets Recommendations"
method: PATCH
path: "/services/wallets/recommendations/delete"
tags: ["Recommendations"]
---

# Bulk Delete Wallets Recommendations

`PATCH /services/wallets/recommendations/delete`

## Request

- Base URL: `https://wallet.uk.eagleeye.com/2.0`
- URL: `https://wallet.uk.eagleeye.com/2.0/services/wallets/recommendations/delete`
- Auth: API key in header `X-EES-AUTH-CLIENT-ID` and API key in header `X-EES-AUTH-HASH`

This API allows the calling application to delete, in bulk, the `ACTIVE` recommendations for many walletId/campaignId pairs in a single request. For each pair, every `ACTIVE` recommendation of the wallet that targets the campaign is changed to `DELETED`.<br/><br/> Up to 1000 pairs can be sent per request and duplicated pairs are only processed once. A pair is only processed when the wallet is `ACTIVE` and the campaign is not `EXPIRED`, `DELETED` or `REJECTED`; otherwise the pair is returned as failed. A pair with no `ACTIVE` recommendation for the campaign is returned with a null `recommendationGuid` and is counted neither as successful nor as failed.<br/><br/> The response returns one result for each deleted recommendation, each failure and each pair that had nothing to delete. The response status is `200` when nothing failed, `207` when some recommendations were deleted or had nothing to delete and others failed, and `400` when every entry failed.

## Request body

- WalletsRecommendationsBulkDeleteRequestEntity
  - `data` object[], required: The walletId/campaignId pairs to delete the `ACTIVE` recommendations for.
    - `walletId` string, required: The ID of the wallet the recommendations belong to, as a numeric string greater than 0. An integer is also accepted.
    - `campaignId` string, required: The ID of the campaign the recommendations target, as a numeric string greater than 0. An integer is also accepted.

## Response `200`

OK

- WalletsRecommendationsBulkDeleteResponseEntity
  - `total` integer: Number of results returned. This can be greater than the sum of successful and failed, as pairs with no `ACTIVE` recommendation to delete are counted in neither.
  - `successful` object
    - `total` integer: Number of recommendations deleted.
  - `failed` object
    - `total` integer: Number of failed entries.
  - `results` object[]
    - `walletId` string: The ID of the wallet from the request.
    - `campaignId` string: The ID of the campaign from the request.
    - `recommendationGuid` string, nullable: The GUID of the recommendation. Null when the pair had no `ACTIVE` recommendation to delete, or when the pair failed before any recommendation was found.
    - `errorCode` string, nullable: Null on success. Otherwise `NF` (wallet or campaign not found), `UNK` (wallet or campaign lookup failed) or `RI` (recommendation lookup or deletion failed).
    - `errorMessage` string, nullable: Null on success, otherwise the reason the entry failed.

## Other responses

- `207`: Multi-Status
- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `415`: Unsupported Media Type
- `429`: Too Many Requests
- `500`: Server Error

## Changes

- **2026-11-03** `7bc73e06813c`: 1 info
  - endpoint added
  - …this revision’s changelog is incomplete

[Operation history](https://skmtc.dev/eagleeye/apis/wallet-api/changes/services/wallets/recommendations/delete/patch.md)

---

[API](https://skmtc.dev/eagleeye/apis/wallet-api.md) - [All operations](https://skmtc.dev/eagleeye/apis/wallet-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eagleeye/apis/wallet-api/revisions/7bc73e06813c?raw)
