# Code and Formats
source: https://developer.mastercard.com/digital-redemptions/documentation/code-and-formats/index.md

## Errors Overview {#errors-overview}

The Digital Redemptions Service uses standard HTTP response codes for success and failure notifications, and our errors are further classified by error type. In general, 200 HTTP codes correspond to success, 40X codes are for the developer or user-related failures, and 50X codes are for runtime or system errors.

This section contains information about the response codes and error messages that can be returned by the APIs.

## Application Error Codes {#application-error-codes}

### Error Structure {#error-structure}

4xx/5xx error response messages have the following format (the Error array may contain multiple error items):

```json

{
   "Errors": {
     "Error": [
       {
         "Source": "<Source api of the error, e.g. digital-redemptions",
         "ReasonCode": "<Unique code>",
         "Description": "<Description of the error>",
         "Recoverable": "true/false",
         "Details": "null"
       }
     ]
   }
 }
```

|      Field      |                                                                                                                                                     Description                                                                                                                                                      |
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Source**      | The application (digital-redemptions-api) generates this error. Every error message that is generated and returned by the gateway will have this field equal to Gateway. When the value of the source field is something else, it means the error was generated elsewhere. For example, the digital-redemptions-api. |
| **ReasonCode**  | The general cause of the error; see the table below. For example, INVALID_INPUT, ACCOUNT_NOT_FOUND                                                                                                                                                                                                                   |
| **Description** | A textual description of the error. This is optional and will only be displayed if more information is available than is stored in the data identifier and reason code. For example, userid parameter cannot be null                                                                                                 |
| **Recoverable** | A true/false indicator stating whether your API request might be successful if you re-sent the API request with the same parameters and data. For example, an unsuccessful API request caused by a server error (5xx response code) might be successful when re-sent. Valid values: true, false                      |
| **Details**     | Each Open API service has the option to add extra service-specific error information in the Details section. The details are optional and might not be present for every error message. If present, the details are returned in the form of individual detail items, each containing a Name and Value pair.          |

## HTTP Response Codes {#http-response-codes}

The following is a complete list of the response codes that the application may return for requests. In the event of network or infrastructure issues, other response codes may be returned by the infrastructure.

**NOTE:** For further information about 4xx/5xx response codes and possible resolutions, see [Gateway Error Codes](https://developer.mastercard.com/platform/documentation/errors-troubleshooting/gateway-error-codes/).

|      HTTP Response Code       |                                                                                                                                                                                                    Description                                                                                                                                                                                                    |
|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **200 OK**                    | The request was completed successfully.                                                                                                                                                                                                                                                                                                                                                                           |
| **400 BAD REQUEST**           | General error when the request could not be fulfilled due to errors such as validation errors, or missing required data.                                                                                                                                                                                                                                                                                          |
| **401 UNAUTHORIZED**          | Error code response for missing or invalid authentication token. (for example, a client with a clientId does not have access)                                                                                                                                                                                                                                                                                     |
| **403 FORBIDDEN**             | The user is not authorized to operate or the resource is unavailable for some reason (for example, time constraints).                                                                                                                                                                                                                                                                                             |
| **404 NOT FOUND**             | The requested resource is not found.                                                                                                                                                                                                                                                                                                                                                                              |
| **405 METHOD NOT ALLOWED**    | Used to indicate that the requested URL exists, but the requested HTTP method is not applicable. For example, DELETE /redemptions/12345 where the API does not support the deletion of resources this way (with a provided ID). The Allow HTTP header must be set when returning a 405 to indicate the HTTP methods that are supported. In the previous case, the header would look like "Allow: GET, PUT, POST". |
| **500 INTERNAL SERVER ERROR** | The server encountered an unexpected condition that prevented it from fulfilling the request. It indicates an error that the caller cannot address from their end. Requests resulting in a 500 response code will generally include the Digital Redemptions API Errors structure in the response.                                                                                                                 |
| **5XX SERVER ERROR**          | Errors that occur in the network infrastructure between the client and Digital Redemptions API server will typically result in a response code in the 500 range. Note that errors returned by the network infrastructure will never contain the Digital Redemptions API Errors structure in the response.                                                                                                         |

## Digital Redemptions Error Codes {#digital-redemptions-error-codes}

### Common error codes across endpoints {#common-error-codes-across-endpoints}

| Code  |                           Message                            |                                                                Description                                                                |
|-------|--------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| -1    | INVALID_INPUT                                                | Returned for invalid request. Ex: Null values for required fields                                                                         |
| -2    | INVALID_VERIFICATION                                         | Cardholder doesn't belong to Redemption                                                                                                   |
| -5    | INVALID_ACCOUNT_NOT_FOUND                                    | Invalid account. Given BAN/RANAC/ExternalID account is not eligible for processing the request (or) userID and User Login Method mismatch |
| -7    | INVALID_REWARD_MATRIX_ITEM_ID                                | Reward Matrix Item does not exist                                                                                                         |
| -8    | INVALID_PROGRAM_MATRIX                                       | RMI id not associated with program id                                                                                                     |
| -9    | INSUFFICIENT_POINT                                           | The number of points redeemed was greater than the available points for the household                                                     |
| -10   | INVALID_ACCOUNT_STATUS                                       | No accounts in good standing                                                                                                              |
| -23   | MINIMUM_POINT_THRESHOLD_NOT_REACHED                          | Minimum Point Threshold Not Reached                                                                                                       |
| -26   | NO_REDEMPTION_ID_FOUND                                       | No Redemption Id found                                                                                                                    |
| -27   | REDEMPTION_ID_ALREADY_CREDITED                               | Redemption Already Credited                                                                                                               |
| -63   | CUSTOMER_NOT_FOUND                                           | Invalid customer. Given BCN customer is not eligible for processing the request (or) userID and User Login Method mismatch                |
| -68   | MULTIPLE_CUSTOMERS_FOUND_FOR_LDAPID                          | Multiple Accounts found for the same BCN                                                                                                  |
| -87   | CUSTOMER_DETAIL_NOT_FOUND                                    | Customer details not found                                                                                                                |
| -90   | MULTIPLE_ACCOUNTS                                            | Multiple Accounts found for the same BAN/RANAC/ExternalID                                                                                 |
| -91   | NO_SHIPPING_ADDRESS_FOUND                                    | Invalid Delivery Address Id                                                                                                               |
| -101  | NON_REDEEMER                                                 | Account not configured for household redeemer                                                                                             |
| -102  | INVALID_SHIPPING_ADDRESS                                     | Invalid Delivery Address Token                                                                                                            |
| -111  | INVALID_SECURITY_USER                                        | No SecurityValues found for userId                                                                                                        |
| -133  | INVALID_REDEMPTIONID                                         | No Redemption History found for redemptionId                                                                                              |
| -136  | AUTHENTICATION_MUST_BE_AT_ACCOUNT_LEVEL                      | Authentication must be at account level                                                                                                   |
| -152  | COULD_NOT_OBTAIN_3P_POINT_BALANCE                            | Could not obtain 3p point balance                                                                                                         |
| -181  | PAY_WITH_POINTS_NOT_ELIGIBLE_FOR_BANK_PRODUCT                | Pay with Points not eligible for Bank Product                                                                                             |
| -182  | POINT_REDEEMED_IS_NOT_WHOLE_NUMBER                           | Points Redeemed should be a whole number                                                                                                  |
| -183  | INVALID_USERID_TYPE                                          | Supported value for userIdType is RANAC                                                                                                   |
| -184  | INVALID_REDEMPTIONID                                         | Redemption ID provided is invalid                                                                                                         |
| -185  | INVALID_STATUS_CODE                                          | Invalid status code                                                                                                                       |
| -186  | INVALID_DATE_FORMAT                                          | Invalid date format                                                                                                                       |
| -187  | INVALID_BACKORDER_DATE                                       | Back Order date is required for Status Code B                                                                                             |
| -188  | INVALID_COMMENTS                                             | Comments does not meet length                                                                                                             |
| -189  | INVALID_CUSTOME_FIELD                                        | Custom field does not meet length                                                                                                         |
| -191  | REDEMPTION_CREATION_FAILED_FROM_PROCEDURE_CALL               | Redemption creation failed from procedure call                                                                                            |
| -192  | INVALID_ACCOUNT_ID                                           | Invalid account id                                                                                                                        |
| -193  | INVALID_PROGRAM_ID                                           | Invalid program id                                                                                                                        |
| -194  | MERCHANT_CATEGORY_HIERACHY_ID_NOT_EXIST                      | Merchant Category Hierarchy id does not exist                                                                                             |
| -195  | UNABLE_TO_RETRIEVE_MERCHANT_CATEGORY_HIERARCHY_ID            | Unable to retrieve Merchant Category Hierarchy id                                                                                         |
| -196  | NOT_VALID_POINT_SOURCE                                       | Not a valid PointSource                                                                                                                   |
| -197  | NOT_VALID_REDEMPTION_SOURCE_CODE                             | Not a valid RedemptionSourceCode Type                                                                                                     |
| -198  | UNABLE_TO_SAVE_SHIPPING_ADDRESS                              | Unable to save shipping address                                                                                                           |
| -200  | POINTS_TOTAL_MATCH_FAILED                                    | Points total match failed                                                                                                                 |
| -201  | CUSTOMER_HAS_PVC_ACCOUNTS_CANNOT_REDEEM                      | Customer has PVC accounts. Cannot Redeem                                                                                                  |
| -202  | HOUSEHOLD_ID_NOT_ASSOCIATED_WITH_CUSTOMER_ID                 | Household id is not associated with customer id                                                                                           |
| -203  | POINT_SHOULD_NOT_GREATER_THAN_REWARD_MATRIX_ITEM_POINT_VALUE | Point should not be greater than reward matrix item point value                                                                           |
| -204  | POINTS_SHOULD_NOT_LESS_THAN_MINIMUM_REDEEMABLE_POINTS        | Points should not be less than minimum redeemable points                                                                                  |
| -205  | POINT_INCREMENTAL_ERROR                                      | Point incremental error                                                                                                                   |
| -206  | INVALID_PARTIAL_CREDIT_POINTS                                | PartialCreditPoints should be in valid positive number format                                                                             |
| -222  | PROGRAM_CONVERSION_FACTOR_ERROR                              | An error occurred while fetching program conversion factor                                                                                |
| -223  | PROGRAM_COMPOSITE_CONVERSION_FACTOR_ERROR                    | An error occurred while fetching program composite conversion factor                                                                      |
| -224  | INVALID_CURRENCY_CODE                                        | Currency Code provided is invalid                                                                                                         |
| -225  | INVALID_BEGIN_DATE                                           | from_date cannot be past 160 days                                                                                                         |
| -226  | TO_DATE_LESS_THAN_FROM_DATE                                  | to_date cannot be less than FromDate                                                                                                      |
| -227  | FROM_DATE_CANNOT_BE_IN_FUTURE                                | from_date cannot be in the future                                                                                                         |
| -228  | INVALID_USER_ID_TYPE_RANCU                                   | Supported value for user_id_type is RANCU                                                                                                 |
| -1001 | INTERNAL_SERVER_ERROR                                        | There was an internal server error while processing the request                                                                           |

### System Error Codes {#system-error-codes}

| Code  |        Message        |              Description              |
|-------|-----------------------|---------------------------------------|
| -1001 | INTERNAL_SERVER_ERROR | Returned for unknown technical errors |

### POST /redemptions (redemptionType: CASHBACK) {#post--redemptions--redemptiontype-cashback}

|          Reason Code          |                                         Description                                         | HTTP Response Code |                                                                                                                                                                                                                                       Resolution Steps                                                                                                                                                                                                                                       |
|-------------------------------|---------------------------------------------------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                 | Invalid Redemption type.                                                                    | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL and CASHBACK. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#endpoint) for more details.                                                                                                                                                   |
| INVALID_INPUT                 | userId cannot be null or empty.                                                             | 400                | Use valid value for userId field as userId field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                                                    |
| INVALID_INPUT                 | userIdType cannot be null or empty.                                                         | 400                | Use valid value for userIdType field as useridType field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                                            |
| INVALID_INPUT                 | redemptionType cannot be null or empty.                                                     | 400                | Use valid value for redemptionType field as redemptionType field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                                    |
| INVALID_INPUT                 | Redemption Items cannot be empty.                                                           | 400                | At least one redemption item detail is required to perform the CASHBACK redemption. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#endpoint) for more details.                                                                                                                                                                                |
| INVALID_INPUT                 | processedBy cannot be null or empty.                                                        | 400                | The processedBy field cannot be null or empty. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#endpoint) for correct value to be used for processedBy field.                                                                                                                                                                                   |
| INVALID_INPUT                 | Size of Items cannot be more than one.                                                      | 400                | Ensure the items array length sent in the request is not greater than 1 to perform CASHBACK redemption.                                                                                                                                                                                                                                                                                                                                                                                      |
| INVALID_INPUT                 | cashbackAmount cannot be null or empty.                                                     | 400                | Provide a valid cashBackAmount value in the request as cashBackAmount field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                         |
| INVALID_INPUT                 | pointsRedeemed cannot be null or empty.                                                     | 400                | Provide a valid pointsRedeemed value in the request as pointsRedeemed field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                         |
| INVALID_INPUT                 | redemptionMatrixItemId cannot be null or empty.                                             | 400                | Use a valid value for redemptionMatrixItemId field, redemptionMatrixItemId cannot be null or empty. You may reach out to assigned program manager to know the list of the valid redemptionMatrixItemIds.                                                                                                                                                                                                                                                                                     |
| INVALID_INPUT                 | Source and Target accounts are not in the same household.                                   | 400                | Ensure the Source and Target accounts sent in request are in same household.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| INVALID_INPUT                 | pointsRedeemed value should be greater than 0.                                              | 400                | Provide a valid pointsRedeemed in the request. The pointsRedeemed value sent in the request should be greater than 0.                                                                                                                                                                                                                                                                                                                                                                        |
| INVALID_INPUT                 | cashbackAmount value should be greater than 0.                                              | 400                | Provide a valid cashbackAmount in the request. The cashbackAmount value sent in the request should be greater than 0.                                                                                                                                                                                                                                                                                                                                                                        |
| INVALID_INPUT                 | pointsRedeemed value does not match with the value calculated by the service.               | 400                | The pointsRedeemed value does not match with the value calculated by service. Please re-evaluate the points redeemed value for reward item used in request. Refer the POST redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#endpoint) to know more on pointsRedeemed value calculation. Please work with assigned regional manager if the issue still persists. |
| INVALID_INPUT                 | cashBackAmount should be more than or equal to program minimum value.                       | 400                | The cashBackAmount in request is less than the program minimum amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the program minimum amount.                                                                                                                                                                                                                                                                             |
| INVALID_INPUT                 | cashBackAmount should be less than or equal to program maximum value.                       | 400                | The cashBackAmount in request is more than the program maximum amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the program maximum amount.                                                                                                                                                                                                                                                                             |
| EXPIRED_POINTS                | Insufficient Points. The account does not have sufficient points to perform the redemption. | 400                | The account sent in the request does not have enough points or the points are expired to perform the redemption. Please work with assigned regional manager or product delivery team for more details.                                                                                                                                                                                                                                                                                       |
| INVALID_USERID_TYPE           | Supported value for userIdType is RANAC.                                                    | 400                | Supported value for userIdType is RANAC. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#endpoint), and try again.                                                                                                                                                                                                                             |
| INVALID_SECURITY_USER         | User received in processedBy is not found.                                                  | 400                | Provide a valid processedBy user in the request. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#endpoint) for correct value to be used for processedBy field. Please work with assigned regional manager if the issue still persists.                                                                                                         |
| INVALID_SECURITY_USER         | User doesn't have permission to perform the redemption.                                     | 400                | Ensure the processedBy user sent in the request has permissions to perform the redemption. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                                                                                                                                       |
| REWARD_MATRIX_ITEM_INACTIVE   | Reward Matrix Item is inactive.                                                             | 400                | Ensure the reward matrix item linked to the program is not end dated (past/future/current date). Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                                                                                                                                 |
| INVALID_REWARD_MATRIX_ITEM_ID | Invalid reward matrix item id.                                                              | 400                | Provide a valid reward matrix item id in the request. The Reward Matrix Item Id sent in the request is not valid or doesn't exist. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                                                                                               |
| INVALID_ACCOUNT_NOT_FOUND     | Account not found for the cashbackAccountId.                                                | 400                | Provide a valid cashbankAccountId in the request. The cashbankAccountId sent in the request is not valid or doesn't exist.                                                                                                                                                                                                                                                                                                                                                                   |
| INVALID_ACCOUNT_STATUS        | Target account should be in Good Standing or Redeem Only status.                            | 400                | Ensure the target account status is not New, On Hold, or Cancelled. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                                                                                                                                                              |
| CASHBACK_NOT_ENABLED          | Bank product of target cashback account is not enabled for cashback.                        | 400                | This is a Configuration issue. Please work with assigned regional manager or product delivery team to set up this configuration.                                                                                                                                                                                                                                                                                                                                                             |

### POST /redemptions (redemptionType: MERCHANDISE) {#post--redemptions--redemptiontype-merchandise}

|                  Reason Code                  |                                         Description                                         | HTTP Response Code |                                                                                                                                                                                                  Resolution Steps                                                                                                                                                                                                  |
|-----------------------------------------------|---------------------------------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                 | Invalid Redemption type.                                                                    | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL and CASHBACK.                                                                                                                                                                                                                                                                                                   |
| INVALID_INPUT                                 | userId cannot be null or empty                                                              | 400                | Use valid value for userId field as userId field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                          |
| INVALID_INPUT                                 | userIdType cannot be null or empty                                                          | 400                | Use valid value for userIdType field as userIdType field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                  |
| INVALID_INPUT                                 | redemptionType cannot be null or empty                                                      | 400                | Use valid value for redemptionType field as redemptionType field cannot be null or empty.                                                                                                                                                                                                                                                                                                                          |
| INVALID_INPUT                                 | Redemption Items cannot be empty                                                            | 400                | At least one redemption item detail is required to perform the redemption. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-2-merchandise-redemption-type) for more details.                                                                                 |
| INVALID_INPUT                                 | redemptionMatrixItemId cannot be null or empty                                              | 400                | Use a valid value for redemptionMatrixItemId field, redemptionMatrixItemId cannot be null or empty. You may reach out to assigned program manager to know the list of the valid redemptionMatrixItemIds.                                                                                                                                                                                                           |
| INVALID_INPUT                                 | processedBy cannot be null or empty                                                         | 400                | The processedBy field cannot be null or empty. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-2-merchandise-redemption-type) for correct value to be used for processedBy field.                                                                           |
| INVALID_INPUT                                 | ExternalId does not meet length                                                             | 400                | The externalId used in the request is more than the max length(50) support by api. Refer the create redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-2-merchandise-redemption-type) to know details.                                                                         |
| INVALID_INPUT                                 | quantity cannot be zero or negative.                                                        | 400                | Requested quantity shouldn't be a 0 or negative number.                                                                                                                                                                                                                                                                                                                                                            |
| EXPIRED_POINTS                                | Insufficient Points. The account does not have sufficient points to perform the redemption. | 400                | The account sent in the request does not have enough points or the points are expired to perform the redemption. Please work with assigned regional manager or product delivery team for more details.                                                                                                                                                                                                             |
| INVALID_USERID_TYPE                           | Supported value for userIdType is RANAC                                                     | 400                | Use userIdType as RANAC in the request as supported value for userIdType is RANAC.                                                                                                                                                                                                                                                                                                                                 |
| INVALID_SECURITY_USER                         | User received in processedBy is not found                                                   | 400                | Provide a valid processedBy user in the request. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-2-merchandise-redemption-type) for correct value to be used for processedBy field. Please work with assigned regional manager if the issue still persists. |
| INVALID_SECURITY_USER                         | User doesn't have permission to perform the redemption                                      | 400                | Ensure the processedBy user sent in the request has permissions to perform the redemption. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                                                             |
| REWARD_MATRIX_ITEM_INACTIVE                   | Reward Matrix Item is inactive.                                                             | 400                | Ensure the reward matrix item linked to the program is not end dated (past/future/current date). Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                                                       |
| INVALID_REWARD_MATRIX_ITEM_ID                 | Invalid reward matrix item id.                                                              | 400                | Provide a valid reward matrix item id in the request. The Reward Matrix Item Id sent in the request is not valid or doesn't exist. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                     |
| INVALID_PROGRAM_MATRIX                        | redemptionMatrixItemId is not found in the program                                          | 400                | Provide a valid reward matrix item id in the request. The Redemption Matrix Item Id sent in the request is not mapped to your program. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                                                 |
| INVALID_ACCOUNT_NOT_FOUND                     | Invalid Account                                                                             | 400                | The userId sent in request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                                                                                                                      |
| CUSTOMER_NOT_FOUND                            | No data found for Security User.                                                            | 404                | Provide a valid processedBy user in the request. Please work with assigned regional manager or product delivery team to set up the user.                                                                                                                                                                                                                                                                           |
| INVALID_CURRENCY_CODE                         | Currency Code provided is invalid                                                           | 400                | Provide a valid currency code in the request. Please reach out to assigned program manager to know currency code applicable for your program.                                                                                                                                                                                                                                                                      |
| NO_SHIPPING_ADDRESS_FOUND                     | Invalid Delivery Address Id                                                                 | 400                | The shipping address id provided in request is invalid or doesn't exist. Provide a valid shipping address id in the request and try again.                                                                                                                                                                                                                                                                         |
| PAY_WITH_POINTS_NOT_ELIGIBLE_FOR_BANK_PRODUCT | Pay with Points not eligible for Bank Product                                               | 400                | The bank product used for the redemption is excluded to use pay with points. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                   |
| POINT_REDEEMED_IS_NOT_WHOLE_NUMBER            | Points Redeemed should be a whole number                                                    | 400                | Your program does not allow to redeem decimal points. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                                          |
| PAYMENT_OPTION_REQUIRED                       | Payment method Required                                                                     | 400                | Payment option is required. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-2-merchandise-redemption-type) to know correct value for payment option field.                                                                                                  |

### POST /redemptions (redemptionType: TRAVEL) {#post--redemptions--redemptiontype-travel}

|                  Reason Code                  |                          Description                          | HTTP Response Code |                                                                                                                                                                                                                                                           Resolution Steps                                                                                                                                                                                                                                                            |
|-----------------------------------------------|---------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                 | userId cannot be null or empty                                | 400                | Use valid value for userId field as userId field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| INVALID_INPUT                                 | redemptionType cannot be null or empty                        | 400                | Use valid value for redemptionType field as redemptionType field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| INVALID_INPUT                                 | redemptionType in request is not valid                        | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL and CASHBACK.                                                                                                                                                                                                                                                                                                                                                                                                                      |
| INVALID_INPUT                                 | totalCashValue cannot be null or empty                        | 400                | Use a valid value for totalCashValue field as userId field cannot be empty or null. Refer to spec for more details.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| INVALID_INPUT                                 | Invalid Reward Item configuration                             | 400                | The reward item used for the redemption doesn't have proper configuration. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                                                                                                                                        |
| INVALID_INPUT                                 | Points equivalent of cash and Points redeemed should be equal | 400                | The pointsRedeemed value does not match with the cashEquivalent value calculated by service. Please re-evaluate the points redeemed value for reward item used in request. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-3-travel-redemption-type) to know more on pointsRedeemed value calculation. Please work with assigned regional manager if the issue still persists. |
| INVALID_INPUT                                 | Points redeemed is less than the minimum threshold            | 400                | The pointsRedeemed in request is less than the program minimum amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the program minimum amount.                                                                                                                                                                                                                                                                                                                      |
| CUSTOMER_NOT_FOUND                            | Invalid Account                                               | 404                | The user identifier provided in the request is invalid or don't exist. Please use a valid RANCU in the request.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| INVALID_ACCOUNT_NOT_FOUND                     | Invalid Account                                               | 400                | The userId provided in request is not valid or does not exist. Provide a valid RANAC in the request.                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| PAY_WITH_POINTS_NOT_ELIGIBLE_FOR_BANK_PRODUCT | Pay with Points not eligible for Bank Product                 | 400                | The bank product used for the redemption is excluded to use pay with points. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                                                                                                                                      |
| POINT_REDEEMED_IS_NOT_WHOLE_NUMBER            | Points Redeemed should be a whole number                      | 400                | Your program does not allow to redeem decimal points. Please reach out to assigned program manager for this configuration.                                                                                                                                                                                                                                                                                                                                                                                                            |
| PAYMENT_OPTION_MISMATCH                       | Invalid payment option for redemption item id                 | 400                | Use a valid payment option in request. Refer the POST /redemptions endpoint API reference here [CreateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-redemptions/index.md#use-case-3-travel-redemption-type) to know applicable payment option for your program.                                                                                                                                                                                                           |
| COULD_NOT_OBTAIN_3P_POINT_BALANCE             | Could not obtain 3p point balance                             | 400                | Unable to get the point balance from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                                                                                                                                                                                                                              |
| INTERNAL_SERVER_ERROR                         | Account not mapped properly with the bank product             | 400                | The bank product used for the redemption has not been mapped to customer account. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                                                                                                                                 |

### GET /redemptions {#get--redemptions}

|         Reason Code         |                    Description                     | HTTP Response Code |                                                                                                                                             Resolution Steps                                                                                                                                              |
|-----------------------------|----------------------------------------------------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT               | user_id parameter cannot be null                   | 400                | Use valid value for user_Id field as user_id field cannot be null or empty.                                                                                                                                                                                                                               |
| INVALID_INPUT               | userId cannot be null or empty                     | 400                | Use valid value for user_Id field as user_id field cannot be null or empty.                                                                                                                                                                                                                               |
| INVALID_INPUT               | user_id_type parameter cannot be null              | 400                | Use valid value for user_id_type field as user_id_type field cannot be null or empty.                                                                                                                                                                                                                     |
| INVALID_INPUT               | from_date cannot be null or empty                  | 400                | Use valid value for from_date field as from_date field cannot be null or empty.                                                                                                                                                                                                                           |
| INVALID_INPUT               | from_date parameter cannot be null                 | 400                | Use valid value for from_date field as from_date field cannot be null or empty.                                                                                                                                                                                                                           |
| INVALID_INPUT               | The date format for from_date should be yyyy-MM-dd | 400                | The date format for from_date should be yyyy-MM-dd. Refer to the field format mentioned in the GET /redemptions endpoint API reference here [GetRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-redemptions/index.md#endpoint) for more details. |
| INVALID_INPUT               | to_date cannot be null or empty                    | 400                | Use valid value for to_date field as to_date field cannot be null or empty.                                                                                                                                                                                                                               |
| INVALID_INPUT               | to_date parameter cannot be null                   | 400                | Use valid value for to_date field as to_date field cannot be null or empty.                                                                                                                                                                                                                               |
| INVALID_INPUT               | The date format for to_date should be yyyy-MM-dd   | 400                | The date format for to_date should be yyyy-MM-dd. Refer to the field format mentioned in the get redemptions endpoint API reference here [GetRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-redemptions/index.md#endpoint) for more details.    |
| INVALID_INPUT               | limit must not be greater than 25                  | 400                | Maximum value for limit field supported by API is 25. Use any positive number between 1 and 25.                                                                                                                                                                                                           |
| TO_DATE_LESS_THAN_FROM_DATE | to_date cannot be less than from_date              | 400                | The to_date field value must be a same or later date than from_date field value. Refer the GET /redemptions endpoint API reference here [GetRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-redemptions/index.md#endpoint) for more details.     |
| INVALID_ACCOUNT_NOT_FOUND   | Invalid Account                                    | 400                | The user_id sent in request is not valid or does not exist. Provide a valid RANAC in the request.                                                                                                                                                                                                         |
| INVALID_USERID_TYPE         | Supported value for userIdType is RANAC            | 400                | Use userIdType as RANAC in the request.                                                                                                                                                                                                                                                                   |

### PUT /redemptions {#put--redemptions}

|          Reason Code           |                          Description                          | HTTP Response Code |                                                                                                                                                                                     Resolution Steps                                                                                                                                                                                      |
|--------------------------------|---------------------------------------------------------------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                  | ShipperName does not meet length                              | 400                | Maximum length for 'shipperName' field supported by API is 60. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details.                                                                                         |
| INVALID_INPUT                  | TrackingCode does not meet length                             | 400                | Maximum length for 'trackingCode' field supported by API is 50. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details.                                                                                        |
| INVALID_INPUT                  | credit requested is greater than remaining redemption balance | 400                | Requested credit points is greater than remaining redemption balance. Partial credit may have done already for this redemption. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                         |
| INVALID_INPUT                  | statusCode in request is not valid                            | 400                | The statusCode used in request is not valid. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details.                                                                                                           |
| INVALID_STATUS_CODE            | Invalid status code                                           | 400                | The statusCode field value cannot be empty or null.                                                                                                                                                                                                                                                                                                                                       |
| INVALID_VERIFICATION           | Cardholder doesn't belong to Redemption                       | 400                | User not permitted to perform this operation. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                         |
| INVALID_BACKORDER_DATE         | Back Order date is required for Status Code B                 | 400                | The 'backOrderDate' field value is required for 'statusCode' = 'B', in update request.                                                                                                                                                                                                                                                                                                    |
| INVALID_BACKORDER_DATE         | Invalid date format                                           | 400                | Please provide backOrderDate value in mmddyyyy format. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details.                                                                                                 |
| INVALID_DATE_FORMAT            | Invalid date format                                           | 400                | Please provide statusChangeDate value in mmddyyyy format. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details.                                                                                              |
| INVALID_REDEMPTION_ID          | No Redemption History found for redemptionId                  | 400                | The redemption id provided in the request is invalid or does not exist. Try again with a valid redemption id.                                                                                                                                                                                                                                                                             |
| INVALID_REDEMPTIONID           | Redemption ID provided is invalid                             | 400                | 'redemptionID' field value cannot be null or empty.                                                                                                                                                                                                                                                                                                                                       |
| INVALID_COMMENTS               | Comments does not meet length                                 | 400                | Maximum length for 'comments' field supported by API is 255. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details.                                                                                           |
| REDEMPTION_ID_ALREADY_CREDITED | Redemption Already Credited                                   | 400                | The redemption id used in the request has been cancelled already. API does not support updating status to 'C' or 'X' for already credited redemptions. Refer the update redemptions endpoint API reference here [UpdateRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/update-redemption-status/index.md#endpoint) for more details. |

### POST /redemptions/{id}/credits {#post--redemptionsidcredits}

|                  Reason Code                  |                               Description                                | HTTP Response Code |                                                                                                                                                                                                          Resolution Steps                                                                                                                                                                                                           |
|-----------------------------------------------|--------------------------------------------------------------------------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                 | X-Client-Request-Id exceeded maximum allowed length 50                   | 400                | Maximum length of 'X-Client-Request-Id' parameter value supported by API is 50. Refer the credit redemptions endpoint API reference here [ReverseRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/reverse-redemption/index.md#endpoint) and try again.                                                                                                                          |
| INVALID_INPUT                                 | processedBy cannot be null or empty                                      | 400                | The processedBy field cannot be null or empty.                                                                                                                                                                                                                                                                                                                                                                                      |
| INVALID_INPUT                                 | Invalid Redemption Type.                                                 | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL and CASHBACK.                                                                                                                                                                                                                                                                                                                    |
| INVALID_INPUT                                 | credit requested is greater than remaining redemption balance            | 400                | Refer to the correct field value mentioned in the credit redemptions endpoint API reference here [ReverseRedemption](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/reverse-redemption/index.md#endpoint) and try again.                                                                                                                                                                  |
| INVALID_INPUT                                 | Credit redemption quantity cannot be greater than the available quantity | 400                | Provide a valid redemption quantity value in the request as redemption quantity cannot be greater than the available quantity.                                                                                                                                                                                                                                                                                                      |
| INVALID_INPUT                                 | Credit redemption quantity should be equal to the available quantity     | 400                | Provide a valid redemption quantity value in the request as Redemption quantity should be equal to the available quantity                                                                                                                                                                                                                                                                                                           |
| INVALID_INPUT                                 | Credit redemption quantity cannot be negative                            | 400                | Provide a valid redemption quantity value in the request as redemption quantity filed cannot be negative.                                                                                                                                                                                                                                                                                                                           |
| INVALID_ACCOUNT_NOT_FOUND                     | Invalid Account                                                          | 400                | The user_id sent in request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                                                                                                                                      |
| INVALID_USERID_TYPE                           | Supported value for userIdType is RANAC                                  | 400                | Use userIdType as RANAC in the request.                                                                                                                                                                                                                                                                                                                                                                                             |
| INVALID_PARTIAL_CREDIT_POINTS                 | PartialCreditPoints should be in valid positive number format            | 400                | PartialCreditPoints should be less than or equal to total points redeemed for actual redemption. If there are more than one partial credit are requested for same redemption id, the sum of PartialCreditPoints for all partial credit redemptions requests should not exceed total points redeemed through original debit redemption. Refer the credit redemptions endpoint API reference here \[API reference\] for more details. |
| NO_REDEMPTION_ID_FOUND                        | No Redemption Id found                                                   | 400                | The redemption id used in request is not valid or doesn't exist. Use a valid redemption id in the request and try again.                                                                                                                                                                                                                                                                                                            |
| REDEMPTION_ID_ALREADY_CREDITED                | Redemption Already Credited                                              | 400                | Credit was already issued for the redemptionId used in the request. Use a valid redemption id in the request and try again.                                                                                                                                                                                                                                                                                                         |
| PAY_WITH_POINTS_NOT_ELIGIBLE_FOR_BANK_PRODUCT | Pay with Points not eligible for Bank Product                            | 400                | The bank product used for the redemption is excluded to use pay with points. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                                                                                           |
| INVALID_USERID_TYPE                           | No SecurityValues found for userId.                                      | 400                | Please use appropriate value for processedBy user. Please reach out to assigned program manager to know about appropriate processedBy user for your program.                                                                                                                                                                                                                                                                        |
| VALIDATION_ERROR                              | Merchant Terminal Failure                                                | 400                | Something went wrong while performing the credit operation. Reach out to technical support team to resolve this issue.                                                                                                                                                                                                                                                                                                              |
| INVALID_SECURITY_USER                         | No SecurityValues found for userId.                                      | 400                | Please use appropriate value for processedBy user. Please reach out to assigned program manager to know about appropriate processedBy user for your program.                                                                                                                                                                                                                                                                        |
| INTERNAL_SERVER_ERROR                         | Unable to get partially credited quantity details                        | 400                | The redemption id is provided in the request is invalid. Try again with a valid redemption id                                                                                                                                                                                                                                                                                                                                       |

### GET /redemptions/addresses {#get--redemptionsaddresses}

|          Reason Code          |                    Description                     | HTTP Response Code |                                                                                                                                                         Resolution Steps                                                                                                                                                         |
|-------------------------------|----------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                 | userId cannot be null or empty                     | 400                | Use valid value for user_id field as user_id field cannot be null or empty.                                                                                                                                                                                                                                                      |
| INVALID_INPUT                 | user_id parameter cannot be null                   | 400                | Use valid value for user_id field as user_id field cannot be null or empty.                                                                                                                                                                                                                                                      |
| INVALID_INPUT                 | user_id_type parameter cannot be null              | 400                | Use valid value for user_id_type field as user_id_type field cannot be null or empty.                                                                                                                                                                                                                                            |
| INVALID_INPUT                 | The date format for from_date should be yyyy-MM-dd | 400                | The date format for from_date should be yyyy-MM-dd. Refer to the field format mentioned in the get shipping address endpoint API reference here [GetShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-shipping-addresses/index.md#endpoint) for more details.      |
| INVALID_INPUT                 | The date format for to_date should be yyyy-MM-dd   | 400                | The date format for to_date should be yyyy-MM-dd. Refer to the field format mentioned in the get shipping address endpoint API reference here [GetShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-shipping-addresses/index.md#endpoint) for more details.        |
| INVALID_USER_ID_TYPE_RANCU    | Supported value for user_id_type is RANCU          | 400                | Use user_id_type as RANCU in the request.                                                                                                                                                                                                                                                                                        |
| INVALID_BEGIN_DATE            | from_date cannot be past 160 days                  | 400                | The from_date field value must not be more than 160 days into past than the current date. Refer the get shipping address endpoint API reference here [GetShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-shipping-addresses/index.md#endpoint) for more details. |
| TO_DATE_LESS_THAN_FROM_DATE   | to_date cannot be less than from_date              | 400                | The to_date field value must be a same or later date than from_date field value. Refer the get shipping address endpoint API reference here [GetShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-shipping-addresses/index.md#endpoint) for more details.          |
| FROM_DATE_CANNOT_BE_IN_FUTURE | from_date cannot be in the future                  | 400                | The from_date field value must be a same or prior date than current date. Refer the get shipping address endpoint API reference here [GetShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/get-shipping-addresses/index.md#endpoint) for more details.                 |
| CUSTOMER_NOT_FOUND            | Invalid Account                                    | 400                | The user_id sent in the request is not valid or doesn't exist. Provide a valid RANCU in the request and try again.                                                                                                                                                                                                               |

### POST /redemptions/addresses {#post--redemptionsaddresses}

|      Reason Code      |                Description                | HTTP Response Code |                                                                                                                                     Resolution Steps                                                                                                                                      |
|-----------------------|-------------------------------------------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT         | userId cannot be null or empty            | 400                | Use valid value for userId field as userId field cannot be null or empty.                                                                                                                                                                                                                 |
| INVALID_INPUT         | Supported value for user_id_type is RANCU | 400                | Supported value for user_id_type is RANCU.                                                                                                                                                                                                                                                |
| INVALID_INPUT         | userIdType cannot be null or empty        | 400                | Use valid value for userIdType field as useridType field cannot be null or empty.                                                                                                                                                                                                         |
| INVALID_INPUT         | shippingName cannot be null or empty      | 400                | Use valid value for shippingName field as shippingName field cannot be null or empty.                                                                                                                                                                                                     |
| INVALID_INPUT         | shippingName maximum allowed size is 60   | 400                | Maximum allowed size for shippingName is 60. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details. |
| INVALID_INPUT         | addressLine1 maximum allowed size is 80   | 400                | Maximum allowed size for addressLine1 is 80. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details. |
| INVALID_INPUT         | addressLine2 maximum allowed size is 80   | 400                | Maximum allowed size for addressLine2 is 80. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details. |
| INVALID_INPUT         | addressLine3 maximum allowed size is 80   | 400                | Maximum allowed size for addressLine3 is 80. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details. |
| INVALID_INPUT         | city cannot be null or empty              | 400                | Use valid value for city in request as city field cannot be null or empty.                                                                                                                                                                                                                |
| INVALID_INPUT         | city maximum allowed size is 30           | 400                | Maximum allowed size for city is 30. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details.         |
| INVALID_INPUT         | state maximum allowed size is 6           | 400                | Maximum allowed size for state is 6. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details.         |
| INVALID_INPUT         | postalCode maximum allowed size is 14     | 400                | Maximum allowed size for postalCode is 14. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details.   |
| INVALID_INPUT         | phoneNumber cannot be null or empty       | 400                | Use valid value for phoneNumber field as phoneNumber field cannot be null or empty.                                                                                                                                                                                                       |
| INVALID_INPUT         | phoneNumber maximum allowed size is 25    | 400                | Maximum allowed size for phoneNumber is 25. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details.  |
| INVALID_INPUT         | countryCode cannot be null or empty       | 400                | Use valid value for countryCode field as countryCode field cannot be null or empty.                                                                                                                                                                                                       |
| INVALID_INPUT         | countryCode maximum allowed size is 3     | 400                | Maximum allowed size for countryCode is 3. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details.   |
| INVALID_INPUT         | companyName maximum allowed size is 80    | 400                | Maximum allowed size for companyName is 80. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details.  |
| INVALID_INPUT         | poBoxAddress maximum allowed size is 20   | 400                | Maximum allowed size for poBoxAddress is 20. Refer to create shipping address endpoint API reference here [CreateShippingAddresses](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redemptions/post-shipping-addresses/index.md#endpoint) for more details. |
| INTERNAL_SERVER_ERROR | INTERNAL_SERVER_ERROR                     | 500                | Something went wrong while creating new shipping address. Try again after some time. If the issue persists, reach out to technical support team to resolve.                                                                                                                               |

### GET /redeemers/{user_id} {#get-redeemersuser_id}

|                  Reason Code                  |                             Description                              | HTTP Response Code |                                                                                                                                                  Resolution Steps                                                                                                                                                  |
|-----------------------------------------------|----------------------------------------------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                 | userId cannot be null or empty                                       | 400                | Use valid value for userId field as userId field cannot be null or empty. Refer the get redeemer profile endpoint API reference here [GetRedeemerProfile](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redeemers-profile/get-redeemer-profile/index.md#endpoint) for more details. |
| INVALID_INPUT                                 | BAN not supported                                                    | 400                | Supported value for userIdType is RANAC.                                                                                                                                                                                                                                                                           |
| INVALID_INPUT                                 | BCN not supported                                                    | 400                | Supported value for userIdType is RANAC.                                                                                                                                                                                                                                                                           |
| INVALID_INPUT                                 | RANCU not supported                                                  | 400                | Supported value for userIdType is RANAC.                                                                                                                                                                                                                                                                           |
| INVALID_INPUT                                 | Invalid Redemption Type                                              | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL, and CASHBACK.                                                                                                                                                                                                  |
| INVALID_INPUT                                 | Not a valid RedemptionType                                           | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL, and CASHBACK.                                                                                                                                                                                                  |
| INTERNAL_SERVER_ERROR                         | Invalid Bank Account                                                 | 500                | Bank account associated with this customer is invalid or does not exist.                                                                                                                                                                                                                                           |
| INVALID_ACCOUNT_NOT_FOUND                     | Invalid Account                                                      | 404                | The user_id sent in request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                     |
| CUSTOMER_NOT_FOUND                            | Invalid Account                                                      | 404                | The user_id sent in the request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                 |
| MULTIPLE_ACCOUNTS                             | Multiple Accounts found                                              | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                               |
| MULTIPLE_CUSTOMERS_FOUND_FOR_LDAPID           | Multiple Accounts found                                              | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                               |
| INVALID_ACCOUNT_NOT_FOUND                     | No accounts found or No access to the account                        | 400                | The user_id sent in request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                     |
| INVALID_ACCOUNT_STATUS                        | No accounts in good standing                                         | 400                | Ensure the target account status is Good Standing or Redeem Only. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                      |
| AUTHENTICATION_MUST_BE_AT_ACCOUNT_LEVEL       | Authentication must be at account level                              | 400                | Failed to validate user with provided RANAC.                                                                                                                                                                                                                                                                       |
| INVALID_ACCOUNT_STATUS                        | Requested account is either CANCELLED or INACTIVE                    | 400                | Ensure the target account status is Good Standing or Redeem Only. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                      |
| PAY_WITH_POINTS_NOT_ELIGIBLE_FOR_BANK_PRODUCT | Pay with Points not eligible for Bank Product                        | 400                | The bank product used for the redemption is excluded to use pay with points. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                          |
| CUSTOMER_DETAIL_NOT_FOUND                     | Customer detail not found                                            | 404                | Customer details not found for userId provided. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                       |
| INTERNAL_SERVER_ERROR                         | Account not mapped properly with the bank product                    | 500                | The bank product used for the redemption is not mapped to customer account. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                    |
| INTERNAL_SERVER_ERROR                         | Invalid Bank Account                                                 | 500                | The bank account for this customer is invalid. Make sure that there is a valid bank account for this account id.                                                                                                                                                                                                   |
| PROGRAM_CONVERSION_FACTOR_ERROR               | An error occurred while fetching program conversion factor           | 500                | Failed to fetch program conversion factor for customer with userId provided. Please reach out to technical support team to resolve this issue.                                                                                                                                                                     |
| PROGRAM_COMPOSITE_CONVERSION_FACTOR_ERROR     | An error occurred while fetching program composite conversion factor | 500                | Failed to fetch program conversion factor for the userId provided. Please reach out to technical support team to resolve this issue.                                                                                                                                                                               |
| INTERNAL_SERVER_ERROR                         | Program parameters not set up correctly                              | 500                | The program parameters for the provided customer are not set up correctly. Please reach out to technical support team to resolve this issue.                                                                                                                                                                       |
| ThirdPartyException                           | PWP External partner is invalid                                      | 400                | PWP External partner invalid when connecting to external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                |
| ThirdPartyException                           | Unable to find external partner                                      | 400                | Unable to connect to external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                           |
| ThirdPartyException                           | An error occurred while fetching pwp external partner                | 400                | Unable to get PWP external partner external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                             |
| COULD_NOT_OBTAIN_3P_POINT_BALANCE             | Could not obtain 3p point balance                                    | 500                | Unable to get the point balance from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                           |
| ThirdPartyException                           | RTR Client Id is not configured                                      | 400                | Unable to get configured RTR client id from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                    |
| ThirdPartyException                           | An error occurred while fetching third party client configuration    | 400                | Unable to connect to external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                           |
| ThirdPartyException                           | RTR Client Id is invalid                                             | 400                | Unable to get the RTR client id from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                           |
| INVALID_INPUT                                 | Invalid Reward Item configuration                                    | 400                | The reward item used for the redemption doesn't have proper configuration. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                     |

### POST /redeemers/search {#post-redeemerssearch}

|                  Reason Code                  |                             Description                              | HTTP Response Code |                                                                                                                                                      Resolution Steps                                                                                                                                                       |
|-----------------------------------------------|----------------------------------------------------------------------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                 | userId cannot be null or empty                                       | 400                | Use valid value for userId field as userId field cannot be null or empty. Refer the search redeemer profile endpoint API reference here [SearchRedeemerProfile](https://developer.mastercard.com/digital-redemptions/documentation/use-cases/redeemers-profile/search-redeemer-profile/index.md#endpoint) for more details. |
| INVALID_INPUT                                 | Invalid Redemption Type                                              | 400                | The redemption type used in request is invalid. Supported Redemption types are MERCHANDISE, TRAVEL, and CASHBACK.                                                                                                                                                                                                           |
| INVALID_INPUT                                 | supported value for userIdType is BAN or BCN                         | 400                | Supported value for userIdType is BAN or BCN.                                                                                                                                                                                                                                                                               |
| INTERNAL_SERVER_ERROR                         | Invalid Bank Account                                                 | 500                | Bank account associated with this customer is invalid or does not exist.                                                                                                                                                                                                                                                    |
| INVALID_ACCOUNT_NOT_FOUND                     | Invalid Account                                                      | 404                | The user_id sent in request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                              |
| CUSTOMER_NOT_FOUND                            | Invalid Account                                                      | 404                | The user_id sent in the request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                          |
| MULTIPLE_ACCOUNTS                             | Multiple Accounts found                                              | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                        |
| MULTIPLE_CUSTOMERS_FOUND_FOR_LDAPID           | Multiple Accounts found                                              | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                        |
| INVALID_ACCOUNT_NOT_FOUND                     | No accounts found or No access to the account                        | 400                | The user_id sent in request is not valid or doesn't exist. Provide a valid RANAC in the request and try again.                                                                                                                                                                                                              |
| INVALID_ACCOUNT_STATUS                        | No accounts in good standing                                         | 400                | Ensure the target account status is Good Standing or Redeem Only. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                               |
| AUTHENTICATION_MUST_BE_AT_ACCOUNT_LEVEL       | Authentication must be at account level                              | 400                | Failed to validate user with provided RANAC.                                                                                                                                                                                                                                                                                |
| INVALID_ACCOUNT_STATUS                        | Requested account is either CANCELLED or INACTIVE                    | 400                | Ensure the target account status is Good Standing or Redeem Only. Please work with assigned regional manager or product delivery team for this configuration.                                                                                                                                                               |
| PAY_WITH_POINTS_NOT_ELIGIBLE_FOR_BANK_PRODUCT | Pay with Points not eligible for Bank Product                        | 400                | The bank product used for the redemption is excluded to use pay with points. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                   |
| CUSTOMER_DETAIL_NOT_FOUND                     | Customer detail not found                                            | 404                | Customer details not found for userId provided. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                                                                |
| INTERNAL_SERVER_ERROR                         | Account not mapped properly with the bank product                    | 500                | The bank product used for the redemption is not mapped to customer account. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                             |
| INTERNAL_SERVER_ERROR                         | Invalid Bank Account                                                 | 500                | The bank account for this customer is invalid. Make sure that there is a valid bank account for this account id.                                                                                                                                                                                                            |
| PROGRAM_CONVERSION_FACTOR_ERROR               | An error occurred while fetching program conversion factor           | 500                | Failed to fetch program conversion factor for customer with userId provided. Please reach out to technical support team to resolve this issue.                                                                                                                                                                              |
| PROGRAM_COMPOSITE_CONVERSION_FACTOR_ERROR     | An error occurred while fetching program composite conversion factor | 500                | Failed to fetch program conversion factor for the userId provided. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                        |
| INTERNAL_SERVER_ERROR                         | Program parameters not set up correctly                              | 500                | The program parameters for the provided customer are not set up correctly. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                |
| ThirdPartyException                           | PWP External partner is invalid                                      | 400                | PWP External partner invalid when connecting to external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                         |
| ThirdPartyException                           | Unable to find external partner                                      | 400                | Unable to connect to external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                                    |
| ThirdPartyException                           | An error occurred while fetching pwp external partner                | 400                | Unable to get PWP external partner external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                      |
| COULD_NOT_OBTAIN_3P_POINT_BALANCE             | Could not obtain 3p point balance                                    | 500                | Unable to get the point balance from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                    |
| ThirdPartyException                           | RTR Client Id is not configured                                      | 400                | Unable to get configured RTR client id from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                             |
| ThirdPartyException                           | An error occurred while fetching third party client configuration    | 400                | Unable to connect to external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                                    |
| ThirdPartyException                           | RTR Client Id is invalid                                             | 400                | Unable to get the RTR client id from external service. Please reach out to technical support team to resolve this issue.                                                                                                                                                                                                    |
| INVALID_INPUT                                 | Invalid Reward Item configuration                                    | 400                | The reward item used for the redemption doesn't have proper configuration. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                                              |

