# Add Account
source: https://developer.mastercard.com/payment-account-management/documentation/api-overview/add-account/index.md

The [Add Account](https://developer.mastercard.com/payment-account-management/documentation/api-reference/index.md) API enables a caller to inform Mastercard's ABU database of a cardholder's Primary Account Number (PAN) for the first time. It will inform Mastercard of the new account so ABU updates can be made. Following or before an `/addAccount` call, an issuer can choose to generate a PAR for that account or lookup a PAR for that account using the `/getPaymentAccountReference` call. The `/addAccount` and `/getPaymentAccountReference` calls are independent and can be done in any order. Issuers do not have to make the `/getPaymentAccountReference` call if they do not need to generate a PAR for that account.

There are 2 types of reason for sending an `/addAccount` call.

|     Reason     |                                                                                       Description                                                                                       |
|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `INITIAL_LOAD` | The first upload done by an issuing institution (e.g. Issuer is loading their existing portfolio for the first time to ABU).                                                            |
| `NEW_ACCOUNT`  | When a cardholder opens an account and the previous account does not exist (e.g. After the initial load to ABU, there are new accounts which are opened and are net new to add to ABU). |

The API validates that the caller is registered with a role that has access to update the account, so that only authorized callers can use the `/addAccount` service. If the caller is not authorized to add the account, then the API responds with an `AUTHORIZATION_FAILED` error. The API will return a `CRYPTOGRAPHY_ERROR` if the encrypted payload cannot be decrypted or if a decryption key has not been configured or is no longer valid.

## Required Fields {#required-fields}

Accounts may only be added using the card number and the recommended fields below

|      API Fields      | The first upload done by an issuing institution | When a cardholder opens an account and the previous account does not exist |
|----------------------|-------------------------------------------------|----------------------------------------------------------------------------|
| Reason Code          | INITIAL LOAD                                    | NEW ACCOUNT                                                                |
| ABU Reason Code      | I                                               | N                                                                          |
| Updates ABU          | ✔                                               | ✔                                                                          |
| Updates Token Vault  | ✖                                               | ✖                                                                          |
| Updates PAR Vault    | ✖                                               | ✖                                                                          |
| **CARD DATA**        |                                                 |                                                                            |
| Card Number          | **🗹**                                          | **🗹**                                                                     |
| Expiry Year          | **🗹**                                          | **🗹**                                                                     |
| Expiry Month         | **🗹**                                          | **🗹**                                                                     |
| Card Sequence Number | **☐**                                           | **☐**                                                                      |

Key: \[✔ = Yes; ✖ = No; **🗹** = Mandatory; **☐** = Optional \]
Note: The `/addAccount` API response means the API call has been received successfully. It does not provide information on whether the updates have been applied in ABU, MDES Vault, or PAR Vault. Customers should use the `/requestStatus` call to get that additional information.
