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

## Overview {#overview}

The use case describes how you add an address for the contract (card contract or account contract) or an additional address for the client.

## Sequence diagram {#sequence-diagram}

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

### Explanation {#explanation}

1. The server sends a `POST` request to the
   * `/clients/{client_id}/addresses` endpoint to add an address for the client
   * `/contracts/{contract_id}/addresses` endpoint to add a new 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.  
     In both requests, the server must send the `addressType` field in the request body.
2. The API returns the HTTP status `200`. Note: The `addressType` values are preconfigured in the Mastercard Processing CMS system during the onboarding process and you are allowed to use only those defined values.  
   To update, disable, or enable an address, refer to the [Update an address](https://developer.mastercard.com/mastercard-processing-core/documentation/use-cases/data-management/update-an-address/index.md) use case. Refer to [Sandbox testing](https://developer.mastercard.com/mastercard-processing-core/documentation/sandbox-testing/data-management/add-address/index.md) for information on how to execute the use case in the Sandbox environment.

## Endpoint {#endpoint}


API Reference: `POST /clients/{client_id}/addresses`


API Reference: `POST /contracts/{contract_id}/addresses`

<br />

