# Update an Address
source: https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-an-address/index.md

## Overview {#overview}

The use case describes how to update an address for the contract (card contract or account contract) or the client.

## Sequence diagram {#sequence-diagram}

![Sequence diagram](https://static.developer.mastercard.com/content/mastercard-processing-core/uploads/update-an-address.png)

### Explanation {#explanation}

1. The server sends a `PUT` request to the
   * `/clients/{client_id}/addresses/{address_type}` endpoint to update an address for the client
   * `/contracts/{contract_id}/addresses/{address_type}` endpoint to update an address for the contract (account contract or card contract). The server must pass the `accountContractId` or the `cardContractId`, respectively, in place of the `contract_id` in the path.
2. The API returns the HTTP status `204`. Tip: The Mastercard Processing CMS allows enabling or disabling of stored addresses which can be invoked through the API by sending the optional field `enabled` with the correct value `true` or `false` in the request.  
   Not sending one of the optional fields `addressLine1`, `addressLine2`, `addressLine3`, `addressLine4`, `city`, `country`, `email`, `firstName`, `lastName`, `postalCode`, or `state` in the request or sending a null value in the field will clear the current value of the field stored in the CMS for the `address_type`. Refer to [Sandbox testing](https://developer.mastercard.com/mastercard-processing-core/documentation/sandbox-testing/data-management/update-address/index.md) for information on how to execute the use case in the Sandbox environment.

## Endpoint {#endpoint}


API Reference: `PUT /clients/{client_id}/addresses/{address_type}`


API Reference: `PUT /contracts/{contract_id}/addresses/{address_type}`

<br />

