# Code and Formats
source: https://developer.mastercard.com/pay-with-rewards/documentation/code-and-formats/index.md

## Errors Overview {#errors-overview}

The Pay with Rewards 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/500 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. user-management",
         "ReasonCode": "<Unique code>",
         "Description": "<Description of the error>",
         "Recoverable": "true/false",
         "Details": "null"
       }
     ]
   }
 }
```

|      Field      |                                                                                                                                                  Description                                                                                                                                                   |
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Source**      | The application (pay-with-rewards-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 pay-with-rewards-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 (500 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 the error message fields, 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 Pay with Rewards API Errors structure in the response.                                                                                                                    |

## Pay with Rewards Error Codes {#pay-with-rewards-error-codes}

### Auth Transaction Response Codes {#auth-transaction-response-codes}

Each transaction in Pay with Rewards is assigned a response code after its processing based on program rules and cardholder preferences. Response codes are seen in Get Authorizations and can be updated via Statement Credit (For Model 2 only). Below are the key PWR response codes.

| Code |                                                                        Description                                                                         | Model 1: Mastercard point bank | Model 2: External point bank, Mastercard API | Model 3: External point bank, Client API |
|------|------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|----------------------------------------------|------------------------------------------|
| 55   | This is a duplicate transaction                                                                                                                            | Yes                            | Yes                                          | Yes                                      |
| 56   | The transaction was declined by the issuer                                                                                                                 | Yes                            | Yes                                          | Yes                                      |
| 57   | Partial Redemption not allowed by the issuer and the cardholder did not have sufficient points to cover their purchase                                     | Yes                            | No                                           | Yes                                      |
| 58   | The authorization amount falls below the program required minimum, or above the program maximum or below cardholder minimum                                | Yes                            | Yes                                          | Yes                                      |
| 59   | The authorization is eligible for PWR, however PWR setting is turned off by the cardholder.                                                                | Yes                            | No                                           | Yes                                      |
| 60   | Rewards were successfully redeemed                                                                                                                         | Yes                            | Yes                                          | Yes                                      |
| 70   | MRS Authorization successfully completed. Authorization passed all program defined rules but is pending external points validation from the client/partner | No                             | Yes                                          | Yes                                      |
| 72   | The authorization is eligible for PWR, however PWR setting is turned off by the cardholder.                                                                | No                             | Yes                                          | No                                       |
| 78   | Failure in performing redemption.                                                                                                                          | Yes                            | Yes                                          | Yes                                      |

#### Additional response codes pertain to program setup, errors, and external point bank connectivity. {#additional-response-codes-pertain-to-program-setup-errors-and-external-point-bank-connectivity}

| Code |                                                   Description                                                    | Model 1: Mastercard point bank | Model 2: External point bank, Mastercard API | Model 3: External point bank, Client API |
|------|------------------------------------------------------------------------------------------------------------------|--------------------------------|----------------------------------------------|------------------------------------------|
| -165 | Bank Product is excluded from Pay with Rewards                                                                   | Yes                            | Yes                                          | Yes                                      |
| 51   | The Account for a Program with "Real Time Rewards" is not in good Standing                                       | Yes                            | Yes                                          | Yes                                      |
| 52   | The transaction was filtered out based on the "Real Time Rewards" filter rules configuration for the PWR program | Yes                            | Yes                                          | Yes                                      |
| 63   | Partial Redemption is allowed by issuer and Redemption Increment is not set up.                                  | Yes                            | No                                           | Yes                                      |
| 64   | The transacting account is not a redeemer                                                                        | Yes                            | Yes                                          | Yes                                      |
| 65   | The transaction account is in an account status not eligible to redeem rewards using Pay with Rewards            | Yes                            | Yes                                          | Yes                                      |
| 67   | Zero amount transactions                                                                                         | Yes                            | Yes                                          | Yes                                      |
| 69   | MRS Decline - Zero burn rate                                                                                     | Yes                            | Yes                                          | Yes                                      |
| 71   | Failed to complete third-party notification                                                                      | No                             | Yes                                          | No                                       |
| 73   | Failed to retrieve third-party point balance                                                                     | No                             | No                                           | Yes                                      |
| 74   | Failed to complete third-party redemption                                                                        | No                             | No                                           | Yes                                      |
| 75   | Failed to apply statement credit                                                                                 | No                             | Yes                                          | Yes                                      |
| 76   | The authorization amount falls below the redemption minimum for the Program                                      | Yes                            | Yes                                          | Yes                                      |
| 77   | MRS Declined - Transaction exceeds customer's fixed redemption cash amount.                                      | Yes                            | No                                           | Yes                                      |

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

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

### GET /authorizations {#get-authorizations}

|           ReasonCode           |                                     Description                                     | HTTP Response Code |                                                                       Resolution Steps                                                                        |
|--------------------------------|-------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                  | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                            |
| PROGRAM_MAPPING_ERROR          | Configuration error. Enterprise site is not found                                   | 400                | The enterprise site used for the transaction is not mapped. Please reach out to assigned program manager to resolve this issue.                               |
| SITE_PROGRAM_MAPPING_ERROR     | Configuration error. Program is not mapped to the enterprise site                   | 400                | The program used for the transaction is not mapped to the enterprise site. Please reach out to assigned program manager to resolve this issue.                |
| ACCOUNT_NOT_FOUND              | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid ID in the request.                                                                     |
| MULTIPLE_ACCOUNTS_FOUND        | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                          |
| INVALID_ACCOUNT_STATUS         | No account 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. |
| INVALID_REFERENCE_NUMBER       | No authorization transaction found for the externalId                               | 400                | The externalId sent in request is not valid or doesn't exist. Provide a valid externalId in the request and try again.                                        |
| BANK_PRODUCT_EXCLUDED_FROM_PWR | Bank Product excluded from PWR                                                      | 400                | The bank product used for the transaction is excluded to use pay with rewards. Reach out to assigned program manager to resolve this issue.                   |

### POST /authorizations {#post-authorizations}

|            ReasonCode             |                                     Description                                     | HTTP Response Code |                                                                                                         Resolution Steps                                                                                                         |
|-----------------------------------|-------------------------------------------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                     | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                                                                                               |
| PROGRAM_MAPPING_ERROR             | Configuration error. Enterprise site is not found                                   | 400                | The enterprise site used for the transaction is not mapped. Please reach out to assigned program manager to resolve this issue.                                                                                                  |
| SITE_PROGRAM_MAPPING_ERROR        | Configuration error. Program is not mapped to the enterprise site                   | 400                | The program used for the transaction is not mapped to the enterprise site. Please reach out to assigned program manager to resolve this issue.                                                                                   |
| ENCRYPTION_ERROR                  | Request body is not encrypted                                                       | 400                | The provided request is not encrypted. Refer to the [Quick Start Guide](https://developer.mastercard.com/pay-with-rewards/documentation/quick-start-guide/index.md) for additional guidance on generating valid encryption keys. |
| DECRYPTION_ERROR                  | Failed to decrypt the request body                                                  | 400                | The provided request failed to decrypt the request body. Please reach out to assigned program manager to resolve this issue.                                                                                                     |
| ACCOUNT_NOT_FOUND                 | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid ID in the request.                                                                                                                                        |
| MULTIPLE_ACCOUNTS_FOUND           | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                             |
| INVALID_ACCOUNT_STATUS            | No account 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.                                                                    |
| ACCOUNT_INELIGIBLE_TO_ACCEPT_AUTH | No active auth rewards services found                                               | 400                | Given BAN/RANAC/ExternalID account does not have active auth rewards services for processing the request.                                                                                                                        |
| BANK_PRODUCT_EXCLUDED_FROM_PWR    | Bank Product excluded from PWR                                                      | 400                | The bank product used for the transaction is excluded to use pay with rewards. Please reach out to assigned program manager to resolve this issue.                                                                               |
| ON_SOIL_EXCLUSION_ERROR           | Domestic On soil Restriction Error                                                  | 400                | The authorization for the provided country code cannot be posted due to on-soil restrictions. Please reach out to assigned program manager to resolve this issue.                                                                |

### POST /authorizations/{id}/reprocess {#post-authorizationsidreprocess}

|           ReasonCode            |                                     Description                                     | HTTP Response Code |                                                                                                                                      Resolution Steps                                                                                                                                       |
|---------------------------------|-------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                   | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                                                                                                                                                          |
| PROGRAM_MAPPING_ERROR           | Configuration error. Enterprise site is not found                                   | 400                | The enterprise site used for the transaction is not mapped. Please reach out to assigned program manager to resolve this issue.                                                                                                                                                             |
| SITE_PROGRAM_MAPPING_ERROR      | Configuration error. Program is not mapped to the enterprise site                   | 400                | The program used for the transaction is not mapped to the enterprise site. Please reach out to assigned program manager to resolve this issue.                                                                                                                                              |
| ACCOUNT_NOT_FOUND               | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid ID in the request.                                                                                                                                                                                                   |
| MULTIPLE_ACCOUNTS_FOUND         | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                                                                                        |
| INVALID_ACCOUNT_STATUS          | No account 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.                                                                                                                               |
| AUTH_INELIGIBLE_FOR_REPROCESS   | Authorization is not eligible for reprocessing                                      | 400                | The authorization for the provided id is not eligible for reprocessing. Refer to reprocess authorization endpoint API reference here [ReprocessAuthorizations](https://developer.mastercard.com/pay-with-rewards/documentation/use-cases/post-purchase/index.md#endpoint) for more details. |
| ACCOUNT_INELIGIBLE_TO_REPROCESS | Authenticated account and account in authorization do not match                     | 400                | The authenticated account provided is not same as account in authorization transaction. Please reach out to assigned program manager to resolve this issue.                                                                                                                                 |
| BANK_PRODUCT_EXCLUDED_FROM_PWR  | Bank Product excluded from PWR                                                      | 400                | The bank product used for the transaction is excluded to use pay with rewards. Reach out to assigned program manager to resolve this issue.                                                                                                                                                 |

### 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 [GetProfile](https://developer.mastercard.com/pay-with-rewards/documentation/use-cases/pwr-profile/get-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 [SearchProfile](https://developer.mastercard.com/pay-with-rewards/documentation/use-cases/pwr-profile/search-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.                                                                                                                                                    |

### GET /redeemers/{id} {#get-redeemersid}

|           ReasonCode            |                                     Description                                     | HTTP Response Code |                                                                       Resolution Steps                                                                        |
|---------------------------------|-------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                   | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                            |
| ACCOUNT_NOT_FOUND               | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid RANAC in the request.                                                                  |
| MULTIPLE_ACCOUNTS_FOUND         | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                          |
| INVALID_ACCOUNT_STATUS          | No account 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. |
| INELIGIBLE_FOR_PAY_WITH_REWARDS | Program does not have active pay with rewards service                               | 400                | The provide bank product is excluded from Pay with Rewards. Reach out to assigned program manager to resolve this issue.                                      |

### GET /redeemers/{id}/preferences {#get-redeemersidpreferences}

|           ReasonCode            |                                     Description                                     | HTTP Response Code |                                                                       Resolution Steps                                                                        |
|---------------------------------|-------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                   | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                            |
| ACCOUNT_NOT_FOUND               | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid ID in the request.                                                                     |
| MULTIPLE_ACCOUNTS_FOUND         | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                          |
| INVALID_ACCOUNT_STATUS          | No account 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. |
| INELIGIBLE_FOR_PAY_WITH_REWARDS | Program does not have active pay with rewards service                               | 400                | The provide bank product is excluded from Pay with Rewards. Reach out to assigned program manager to resolve this issue.                                      |

### PUT /redeemers/{id}/preferences {#put-redeemersidpreferences}

|                            ReasonCode                             |                                     Description                                     | HTTP Response Code |                                                                                                      Resolution Steps                                                                                                       |
|-------------------------------------------------------------------|-------------------------------------------------------------------------------------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                                     | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                                                                                          |
| ACCOUNT_NOT_FOUND                                                 | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid RANAC in the request.                                                                                                                                |
| MULTIPLE_ACCOUNTS_FOUND                                           | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                                                        |
| INVALID_ACCOUNT_STATUS                                            | No account 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.                                                               |
| INELIGIBLE_FOR_PAY_WITH_REWARDS                                   | Program does not have active pay with rewards service                               | 400                | The provide bank product is excluded from Pay with Rewards. Reach out to assigned program manager to resolve this issue.                                                                                                    |
| ACCOUNT_PURCHASE_THRESHOLD _BELOW_PROGRAM                         | minAccountPurchaseThreshold is below program min purchase                           | 400                | The account minimum purchase amount in request is less than the program minimum purchase amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount.  |
| ACCOUNT_FXD_PURCHASE_ THRESHOLD_BELOW _ACCOUNT_PURCHASE_THRESHOLD | minAccountPurchaseThreshold is above fixedAccountRedemptionAmount                   | 400                | The account minimum purchase amount in request is more than the fixed account redemption amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount.  |
| ACCOUNT_FXD_PURCHASE_ THRESHOLD_ABOVE _PROGRAM_PURCHASE_THRESHOLD | fixedAccountRedemptionAmount is above program max purchase                          | 400                | The fixed account redemption amount in request is more than the program maximum purchase amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount.  |
| ACCOUNT_FXD_PURCHASE_ THRESHOLD_BELOW _PROGRAM_PURCHASE_THRESHOLD | fixedAccountRedemptionAmount is below program min purchase                          | 400                | The fixed account redemption amount in request is less than the program minimum purchase amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount.  |
| ACCOUNT_MIN_PURCHASE_ THRESHOLD_ABOVE _PROGRAM_PURCHASE_THRESHOLD | minAccountPurchaseThreshold is above program max purchase                           | 400                | The account minimum purchase amount in request is more than the program maximum purchase amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount.  |
| INVALID_THRESHOLD_INPUT                                           | minAccountPurchaseThreshold or fixedAccountRedemptionAmount is invalid              | 400                | The account minimum purchase amount or the fixed account redemption amount in request is invalid. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount. |

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

|                      ReasonCode                       |                                     Description                                     | HTTP Response Code |                                                                                       Resolution Steps                                                                                        |
|-------------------------------------------------------|-------------------------------------------------------------------------------------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| INVALID_INPUT                                         | Returned for an invalid request. See "Details" element in response for more details | 400                | Use valid value for the field in the "Details" element in response, as it cannot be null or empty.                                                                                            |
| ACCOUNT_NOT_FOUND                                     | Account is not found                                                                | 400                | The id sent in request is not valid or does not exist. Provide a valid ID in the request.                                                                                                     |
| MULTIPLE_ACCOUNTS_FOUND                               | More than one account is found                                                      | 400                | There are multiple accounts found with this account id. Reach out to assigned program manager to resolve this issue.                                                                          |
| INVALID_ACCOUNT_STATUS                                | No account 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.                                 |
| AUTH_RESPONSE_LOG_ID_DOES_NOT_EXIST                   | No authorization found for paymentAuthId                                            | 400                | The paymentAuthId provided in the request doesn't exist. Please use a valid id in the request.                                                                                                |
| LOGGED_IN_ACCOUNT_ON_HOLD                             | Account status from authorization is on hold                                        | 400                | Ensure the target account status is not On Hold. Please work with assigned regional manager or product delivery team for this configuration.                                                  |
| STATEMENT_OF_CREDIT_ CANNOT_BE_PROCESSED              | Authorization response reason is neither 70 nor 72                                  | 400                | Ensure the authorization is processed successfully. Please work with assigned regional manager or product delivery team for this configuration.                                               |
| CASH_BACK_AMOUNT_GREATER _THAN_THE_INITIAL_VALUE_SENT | cashBackAmount in request is greater than the qualified                             | 400                | The cashback amount in request is more than vendor cashback amount. Please update the amount in request or work with assigned regional manager or product delivery team to update the amount. |
| PARTIAL_REDEMPTIONS_NOT_ALLOWED                       | Partial redemption is not supported                                                 | 400                | Partial redemptions are not allowed. Please work with assigned regional manager or product delivery team for this configuration.                                                              |
| CASH_BACK_AMOUNT_NOT_ WITHIN_INCREMENTAL_ALLOWANCE    | cashBackAmount in request is not within redemption increments configured            | 400                | The cashBackAmount in request is not within redemption increments configured. Please work with assigned regional manager or product delivery team for this configuration.                     |
| INVALID_REWARD_MATRIX_ITEM_ID                         | Configuration error. Reward matrix item not found for the program                   | 400                | The reward matrix id sent in request is not valid. Please work with assigned regional manager or product delivery team for this configuration.                                                |
| REWARD_MATRIX_ITEM_IS_NOT_UNIQUE                      | Configuration error. More than one reward matrix items found                        | 400                | The reward matrix id sent in request is not a unique identifier. Please work with assigned regional manager or product delivery team for this configuration.                                  |
| NO_CASH_BACK_ITEM_EXISTS _FOR_THIS_PROGRAM            | Configuration error. Cashback fulfillment method not found                          | 400                | The cashback item sent in request does not exist for the program. Please work with assigned regional manager or product delivery team for this configuration.                                 |
| MORE_THAN_ONE_ITEM_EXISTS _FOR_THIS_CASH_BACK_PROGRAM | Configuration error. More than one Cashback fulfillment method found                | 400                | Ensure the target cashback program has only one item. Please work with assigned regional manager or product delivery team for this configuration.                                             |

