# Update Benefit Registration
source: https://developer.mastercard.com/mastercard-benefits-and-experiences-portal/documentation/use-cases/use-cases-6/index.md

## Benefit Registration Update {#benefit-registration-update}

Once the cardholder has selected benefits to which their credit card entitles them, they can choose to do one of the following updates to their benefit registration:

* change their credit card number. The benefits will then be linked to the new credit card;
* update their email address and preferred language;
* cancel their benefit registration.

The following sequence diagram shows the sequence of API calls between the different entities in this scenario.
Diagram use-case-6

## Sample Request and Response {#sample-request-and-response}

Use your own `partnerId` to make test calls to Sandbox API endpoints. Use the same value of `partner_uuid` as returned by the benefit selection endpoint in the `partnerUUID` property.

### Change the cardholder's credit card number. {#change-the-cardholders-credit-card-number}

Make a POST call with the existing card number as `creditCardNumber` and new card details in the `creditCard` object:

`POST https://sandbox.api.mastercard.com/the-portal/benefit-registrations/{partner_uuid}/credit-cards`

```json
{
  "partnerId": 484,
  "registrationUpdate": {
    "creditCard": {
      "newCardNumber": 5555000000000001,
      "cardHolderName": "John Doe",
      "expirationMonth": 1,
      "expirationYear": 2023,
      "cvv": 37
    }
  },
  "creditCardNumber": 5555000000000000
}
```

```json
{
	"msg": "OK",
	"data": {
		"result": 1,
		"errorMsg": []
	}
}
```

### Update the cardholder's email address and preferred language. {#update-the-cardholders-email-address-and-preferred-language}

Make a POST call with the cardholder's language code and email address. You must include both fields even if you are changing only one of them:

`POST https://sandbox.api.mastercard.com/the-portal/benefit-registrations/{partner_uuid}/profiles`

```json
{
  "partnerId": 484,
  "registrationUpdate": {
    "profile": {
      "preferredLanguageCode": "fr-FR",
      "emailAddress": "newaddress@priceless.com"
    }
  },
  "creditCardNumber": 5555000000000000
}
```

```json
{
	"msg": "OK",
	"data": {
		"result": 1,
		"errorMsg": []
	}
}
```

### Cancel the cardholder's benefit registration. {#cancel-the-cardholders-benefit-registration}

Make a POST call with the cardholder's credit card number and the cancellation date.
Note: The Loyalty API is currently expecting that `cancellationDate` will always contain current date at the time the request is made. However, this may change in the future.

`POST https://sandbox.api.mastercard.com/the-portal/benefit-registrations/{partner_uuid}/cancellations`

```json
{
  "partnerId": 659,
  "registrationUpdate": {
    "creditCard": {
      "cancellationDate": "2022-12-31"
    }
  },
  "creditCardNumber": 5555000000000000
}
```

```json
{
	"msg": "OK",
	"data": {
		"result": 1,
		"errorMsg": []
	}
}
```

