swagger: "2.0" info: description: >- This service allows the Partner to place a rewards transaction from its Platform and the rewards are redeemed from the Cardholder?s Points bank in real time. This service also allows to modify and cancel an existing rewards transaction that results in rewards being debited or credit to Cardholder?s Points bank in real time. This service can be used for a points only order as well as spit tender order (combination of Chase card and rewards). In the Split tender transactions, partner uses its BAU rails for the Card portion of the transaction. title: APIs for Pay with Points loyalty order service version: "1.0" basePath: /card/loyalty/redeem-rewards/transactions/v1 x-chase-info: 24380//External///Product host: api.chase.com produces: - application/json consumes: - application/json paths: /ping: get: tags: - ping summary: Operation to check the service health description: Health Check Operation responses: "200": description: 200 OK /merchants/pay-with-points/transactions/: post: tags: - createOrder summary: Redeem rewards description: >- Redeems rewards from cardholder's points bank in real time and returns the rewards redemption confirmation. operationId: createOrder consumes: - application/json produces: - application/json parameters: - $ref: "#/parameters/authorization" - $ref: "#/parameters/authorization2" - $ref: "#/parameters/trace-id" - $ref: "#/parameters/channel-type" - $ref: "#/parameters/account-reference-universal-unique-identifier" - $ref: "#/parameters/external-transaction-identifier" - $ref: "#/parameters/external-account-identifier" - $ref: "#/parameters/merchant-order-details" responses: "200": description: OK schema: $ref: "#/definitions/CreateOrderResponse" "400": description: >- Request is invalid either required data is missing or data is not consistent schema: $ref: "#/definitions/Error" "401": description: Unauthorized - Authorization Failed schema: $ref: "#/definitions/Error" "403": description: Access Forbidden schema: $ref: "#/definitions/Error" "404": description: The {resource} being requested is not found. schema: $ref: "#/definitions/Error" "409": description: >- List of business reasons of error codes and descriptions are as below
601: Account is not eligible.
610: Customer is not enrolled in the Pay with Points feature.
101: Account not found.
179: Multiple accounts found.
605: This feature is permanently unavailable.
640: Customer does not have sufficient funds.
703: The conversion rate is incorrect.
725: Order already exists with the same order number. Please try with a different order number.
schema: $ref: "#/definitions/Error" "500": description: Internal Server Error schema: $ref: "#/definitions/Error" "503": description: Downstream System Exception schema: $ref: "#/definitions/Error" x-examples: - name: CreatesRedemptionOrder description: Creates Redemption Order for PWP parameters: trace-id: 562952952929829 body: externalOrderNumber: I202007020302 merchantOrderNumber: M202007020302 orderDate: "2021-02-11T22:25:50.52Z" externalTransactionTypeCode: "5070" usdRewardsTransactionAmount: 7.95 rewardsTransactionAmount: 100 rewardsConversionRate: 80 merchantCategoryCode: "2020" account-reference-universal-unique-identifier: d383fd33-7be1-4ff8-88b7-f2adca419296 external-transaction-identifier: ETI202007020791 external-account-identifier: mrudul.kumar.aerra@jpmchase.com authorization: EB3ik8VN9sAV2YjUnZv5UUcAUzFg authorization2: >- Bearer eyJraWQiOiJrZXkwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJwd3B0ZXN0IiwiYXVkIjoiY2hhc2UiLCJpc3MiOiJQV1BURVNUIiwiZXhwIjoxNjE3MjM2OTkwLCJpYXQiOjE2MTcyMDA5OTAsImp0aSI6ImUzY2NmMGU2LWM5MmYtNDI2My04MGM2LTI0ODI1OTdiZmEzMiJ9.dUmOrjpXKAkra1opeuLVAV78MKGaI9kPe0VrH56NEdhseBedqiWB8cPQT6ujzTt2s2sREvdam9p85Vynvn10rYKbMdgShv0lEsYrbG3GcRcieYAW4DlgLZ6VlSbwiaw_DIbvLugOuVrcCR6MFj4qJmW3yz6NM5Us_sW4MJKdkbCuMreg5ciOj_32krJj7AwCBpllz7RFK5G_VjAlbBdoTgIIu0WoPYxhxr3D0BDQavhApQHCsEmti5Bh-okYUucx3YK_ZTPO_MTPwWY7T0_wRelgt6vOCyZPlzdAH_NDOADrk5dO7ajSH4tPL1z-wIuidGMAVWH5FTKPtSgxah1_FQ - name: IncorrectConversionRate description: Creates Redemption Order for PWP parameters: trace-id: 562952952929829 body: externalOrderNumber: I202007020302 merchantOrderNumber: M202007020302 orderDate: "2021-02-11T22:25:50.52Z" externalTransactionTypeCode: "5070" usdRewardsTransactionAmount: 7.95 rewardsTransactionAmount: 100 rewardsConversionRate: 90 merchantCategoryCode: "2020" account-reference-universal-unique-identifier: d383fd33-7be1-4ff8-88b7-f2adca419296 external-transaction-identifier: ETI202007020791 external-account-identifier: mrudul.kumar.aerra@jpmchase.com authorization: EB3ik8VN9sAV2YjUnZv5UUcAUzFg authorization2: >- Bearer eyJraWQiOiJrZXkwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJwd3B0ZXN0IiwiYXVkIjoiY2hhc2UiLCJpc3MiOiJQV1BURVNUIiwiZXhwIjoxNjE3MjM2OTkwLCJpYXQiOjE2MTcyMDA5OTAsImp0aSI6ImUzY2NmMGU2LWM5MmYtNDI2My04MGM2LTI0ODI1OTdiZmEzMiJ9.dUmOrjpXKAkra1opeuLVAV78MKGaI9kPe0VrH56NEdhseBedqiWB8cPQT6ujzTt2s2sREvdam9p85Vynvn10rYKbMdgShv0lEsYrbG3GcRcieYAW4DlgLZ6VlSbwiaw_DIbvLugOuVrcCR6MFj4qJmW3yz6NM5Us_sW4MJKdkbCuMreg5ciOj_32krJj7AwCBpllz7RFK5G_VjAlbBdoTgIIu0WoPYxhxr3D0BDQavhApQHCsEmti5Bh-okYUucx3YK_ZTPO_MTPwWY7T0_wRelgt6vOCyZPlzdAH_NDOADrk5dO7ajSH4tPL1z-wIuidGMAVWH5FTKPtSgxah1_FQ put: tags: - updateOrder summary: Modify an existing rewards transaction description: >- Modifies an existing rewards transaction if the amount of rewards increase for a Pay with Points transaction. operationId: updateOrder consumes: - application/json produces: - application/json parameters: - $ref: "#/parameters/authorization" - $ref: "#/parameters/authorization2" - $ref: "#/parameters/trace-id" - $ref: "#/parameters/channel-type" - $ref: "#/parameters/account-reference-universal-unique-identifier" - $ref: "#/parameters/external-transaction-identifier" - $ref: "#/parameters/external-account-identifier" - $ref: "#/parameters/merchant-order-details" responses: "200": description: OK schema: $ref: "#/definitions/UpdateOrderResponse" "400": description: >- Request is invalid either required data is missing or data is not consistent schema: $ref: "#/definitions/Error" "401": description: Unauthorized - Authorization Failed schema: $ref: "#/definitions/Error" "403": description: Access Forbidden schema: $ref: "#/definitions/Error" "404": description: The {resource} being requested is not found. schema: $ref: "#/definitions/Error" "409": description: >- List of business reasons of error codes and descriptions are as below
101: Account not found.
103: Order not found.
179: Multiple accounts found.
601: Account is not eligible.
605: This feature is permanently unavailable.
610: Customer is not enrolled in the Pay with Points feature.
640: Customer does not have sufficient funds.
703: The conversion rate is incorrect.
schema: $ref: "#/definitions/Error" "500": description: Internal Server Error schema: $ref: "#/definitions/Error" "503": description: Downstream System Exception schema: $ref: "#/definitions/Error" x-examples: - name: UpdateOrder description: Update Order for PWP parameters: trace-id: 562952952929829 body: externalOrderNumber: I202007020302 merchantOrderNumber: M202007020251 orderDate: "2021-12-11T23:27:50.52Z" externalTransactionTypeCode: "5070" usdRewardsTransactionAmount: 1.75 rewardsTransactionAmount: 10000 rewardsConversionRate: 80 account-reference-universal-unique-identifier: d383fd33-7be1-4ff8-88b7-f2adca419296 external-transaction-identifier: ETI202007020791 external-account-identifier: mrudul.kumar.aerra@jpmchase.com authorization: EB3ik8VN9sAV2YjUnZv5UUcAUzFg authorization2: >- Bearer eyJraWQiOiJrZXkwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJwd3B0ZXN0IiwiYXVkIjoiY2hhc2UiLCJpc3MiOiJQV1BURVNUIiwiZXhwIjoxNjE3MjM2OTkwLCJpYXQiOjE2MTcyMDA5OTAsImp0aSI6ImUzY2NmMGU2LWM5MmYtNDI2My04MGM2LTI0ODI1OTdiZmEzMiJ9.dUmOrjpXKAkra1opeuLVAV78MKGaI9kPe0VrH56NEdhseBedqiWB8cPQT6ujzTt2s2sREvdam9p85Vynvn10rYKbMdgShv0lEsYrbG3GcRcieYAW4DlgLZ6VlSbwiaw_DIbvLugOuVrcCR6MFj4qJmW3yz6NM5Us_sW4MJKdkbCuMreg5ciOj_32krJj7AwCBpllz7RFK5G_VjAlbBdoTgIIu0WoPYxhxr3D0BDQavhApQHCsEmti5Bh-okYUucx3YK_ZTPO_MTPwWY7T0_wRelgt6vOCyZPlzdAH_NDOADrk5dO7ajSH4tPL1z-wIuidGMAVWH5FTKPtSgxah1_FQ - name: NoSufficientFunds description: NoSufficientFunds for PWP parameters: trace-id: 562952952929829 body: externalOrderNumber: I202007020305 merchantOrderNumber: M202007020305 orderDate: "2021-02-19T22:25:50.52Z" externalTransactionTypeCode: "5070" usdRewardsTransactionAmount: 7000 rewardsTransactionAmount: 100 rewardsConversionRate: 80 merchantCategoryCode: "2020" account-reference-universal-unique-identifier: d383fd33-7be1-4ff8-88b7-f2adca419296 external-transaction-identifier: ETI202007020791 external-account-identifier: mrudul.kumar.aerra@jpmchase.com authorization: EB3ik8VN9sAV2YjUnZv5UUcAUzFg authorization2: >- Bearer eyJraWQiOiJrZXkwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJwd3B0ZXN0IiwiYXVkIjoiY2hhc2UiLCJpc3MiOiJQV1BURVNUIiwiZXhwIjoxNjE3MjM2OTkwLCJpYXQiOjE2MTcyMDA5OTAsImp0aSI6ImUzY2NmMGU2LWM5MmYtNDI2My04MGM2LTI0ODI1OTdiZmEzMiJ9.dUmOrjpXKAkra1opeuLVAV78MKGaI9kPe0VrH56NEdhseBedqiWB8cPQT6ujzTt2s2sREvdam9p85Vynvn10rYKbMdgShv0lEsYrbG3GcRcieYAW4DlgLZ6VlSbwiaw_DIbvLugOuVrcCR6MFj4qJmW3yz6NM5Us_sW4MJKdkbCuMreg5ciOj_32krJj7AwCBpllz7RFK5G_VjAlbBdoTgIIu0WoPYxhxr3D0BDQavhApQHCsEmti5Bh-okYUucx3YK_ZTPO_MTPwWY7T0_wRelgt6vOCyZPlzdAH_NDOADrk5dO7ajSH4tPL1z-wIuidGMAVWH5FTKPtSgxah1_FQ delete: tags: - deleteOrder summary: Cancel/Partially reduce an existing rewards transaction description: >- Cancels or partially reduces an existing Pay with Points transaction and returns the rewards back to the cardholder?s points bank in real time and returns points credit confirmation.. operationId: deleteOrder consumes: - application/json produces: - application/json parameters: - $ref: "#/parameters/authorization" - $ref: "#/parameters/authorization2" - $ref: "#/parameters/trace-id" - $ref: "#/parameters/channel-type" - $ref: "#/parameters/account-reference-universal-unique-identifier" - $ref: "#/parameters/transaction-code" - $ref: "#/parameters/external-transaction-identifier" - $ref: "#/parameters/external-account-identifier" - $ref: "#/parameters/merchant-order-details" responses: "200": description: OK schema: $ref: "#/definitions/DeleteOrderResponse" "400": description: >- Request is invalid either required data is missing or data is not consistent schema: $ref: "#/definitions/Error" "401": description: Unauthorized - Authorization Failed schema: $ref: "#/definitions/Error" "403": description: Access Forbidden schema: $ref: "#/definitions/Error" "404": description: The {resource} being requested is not found. schema: $ref: "#/definitions/Error" "409": description: >- List of business reasons of error codes and descriptions are as below
101: Account not found.
103: Order not found.
179: Multiple accounts found.
601: Account is not eligible.
701: Invalid reward amount.
702: Order is in an invalid state.
schema: $ref: "#/definitions/Error" "500": description: Internal Server Error schema: $ref: "#/definitions/Error" "503": description: Downstream System Exception schema: $ref: "#/definitions/Error" x-examples: - name: DeleteOrder description: DeleteOrder for PWP parameters: trace-id: 562952952929829 transaction-code: Reverse body: externalOrderNumber: I202007020302 orderDate: "2021-12-11T23:27:50.52Z" externalTransactionTypeCode: "5070" usdRewardsTransactionAmount: 1.25 rewardsConversionRate: 80 account-reference-universal-unique-identifier: d383fd33-7be1-4ff8-88b7-f2adca419296 external-transaction-identifier: ETI202007020791 external-account-identifier: mrudul.kumar.aerra@jpmchase.com authorization: EB3ik8VN9sAV2YjUnZv5UUcAUzFg authorization2: >- Bearer eyJraWQiOiJrZXkwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJwd3B0ZXN0IiwiYXVkIjoiY2hhc2UiLCJpc3MiOiJQV1BURVNUIiwiZXhwIjoxNjE3MjM2OTkwLCJpYXQiOjE2MTcyMDA5OTAsImp0aSI6ImUzY2NmMGU2LWM5MmYtNDI2My04MGM2LTI0ODI1OTdiZmEzMiJ9.dUmOrjpXKAkra1opeuLVAV78MKGaI9kPe0VrH56NEdhseBedqiWB8cPQT6ujzTt2s2sREvdam9p85Vynvn10rYKbMdgShv0lEsYrbG3GcRcieYAW4DlgLZ6VlSbwiaw_DIbvLugOuVrcCR6MFj4qJmW3yz6NM5Us_sW4MJKdkbCuMreg5ciOj_32krJj7AwCBpllz7RFK5G_VjAlbBdoTgIIu0WoPYxhxr3D0BDQavhApQHCsEmti5Bh-okYUucx3YK_ZTPO_MTPwWY7T0_wRelgt6vOCyZPlzdAH_NDOADrk5dO7ajSH4tPL1z-wIuidGMAVWH5FTKPtSgxah1_FQ - name: IncorrectOrderNumber description: IncorrectOrderNumber for PWP parameters: trace-id: 562952952929829 transaction-code: Reverse body: externalOrderNumber: I202007020302 orderDate: "2021-12-11T23:27:50.52Z" externalTransactionTypeCode: "5070" usdRewardsTransactionAmount: 1.25 rewardsConversionRate: 80 account-reference-universal-unique-identifier: d383fd33-7be1-4ff8-88b7-f2adca419296 external-transaction-identifier: ETI202007020791 external-account-identifier: mrudul.kumar.aerra@jpmchase.com authorization: EB3ik8VN9sAV2YjUnZv5UUcAUzFg authorization2: >- Bearer eyJraWQiOiJrZXkwMSIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJwd3B0ZXN0IiwiYXVkIjoiY2hhc2UiLCJpc3MiOiJQV1BURVNUIiwiZXhwIjoxNjE3MjM2OTkwLCJpYXQiOjE2MTcyMDA5OTAsImp0aSI6ImUzY2NmMGU2LWM5MmYtNDI2My04MGM2LTI0ODI1OTdiZmEzMiJ9.dUmOrjpXKAkra1opeuLVAV78MKGaI9kPe0VrH56NEdhseBedqiWB8cPQT6ujzTt2s2sREvdam9p85Vynvn10rYKbMdgShv0lEsYrbG3GcRcieYAW4DlgLZ6VlSbwiaw_DIbvLugOuVrcCR6MFj4qJmW3yz6NM5Us_sW4MJKdkbCuMreg5ciOj_32krJj7AwCBpllz7RFK5G_VjAlbBdoTgIIu0WoPYxhxr3D0BDQavhApQHCsEmti5Bh-okYUucx3YK_ZTPO_MTPwWY7T0_wRelgt6vOCyZPlzdAH_NDOADrk5dO7ajSH4tPL1z-wIuidGMAVWH5FTKPtSgxah1_FQ parameters: authorization: name: authorization in: header description: >- OAuth bearer token will be sent in this header as per the OAuth2 spec. This header will be used by the API gateway. The API does not need to do anything with this header required: true type: string maxLength: 8000 authorization2: name: authorization2 in: header description: >- Additional authorization on top of standard OAuth token in the Authorization Header. The use of this header is different for 3-legged and 2-legged use cases required: true type: string maxLength: 8000 trace-id: name: trace-id description: >- A unique Trace Id for every request. This SHOULD be unique for every request and 128 bit number, represented in lower hex characters. in: header required: true type: string maxLength: 32 channel-type: name: channel-type type: string in: header required: false maxLength: 15 description: Digital channel type indicates where the request originated from. account-reference-universal-unique-identifier: name: account-reference-universal-unique-identifier in: header description: >- A universally unique identifier (UUID) that is randomly generated to identify each account that is persisted at the merchant end. This value will help the merchant identify the card account during a transaction or product trade. A UUID is a 128-bit number used to identify information in computer systems. The field length of 36 bytes corresponds to 128 bits (via Hexadecimal string conversion). format: uuid required: true type: string transaction-code: name: transaction-code in: header required: true type: string description: >- Codifies the type of system processing that will be taken place on the account maxLength: 9 x-chase-dataelem: INTL/20758/N/N external-transaction-identifier: name: external-transaction-identifier in: header required: true type: string description: The transaction identifier assigned by the redemption partner. maxLength: 50 external-account-identifier: name: external-account-identifier in: header required: true type: string description: Unique Identifier for customer linked on an single card account maxLength: 300 merchant-order-details: name: merchant-order-details in: body required: true description: data elements representing the details of the rewards transaction order. schema: $ref: "#/definitions/Order" definitions: CreateOrderResponse: properties: externalOrderNumber: type: string description: >- External order number created by the vendor or third party payment processer. , e. g. Super PNR id. maxLength: 50 merchantOrderNumber: type: string description: >- Unique identifier generated by a merchant to identify a customer order. This identifier is passed in as received by the vendor or partner from the merchant. maxLength: 50 payWithPointsAuthorizationNumber: type: string description: >- Identifies a unique occurrence of an authorization for a pay with points transaction. The value is sequentially assigned in a non-intelligent manner and is not the actual authorization code sent back to the merchant from the authorizations engine during the authorization request. maxLength: 11 merchantDefinedProductCode: type: string description: >- Codifies the product referred in the Merchant Relationship Manager Service built within Loyalty application interface. The value is internally assigned by the application according to the reward product code (RPC). maxLength: 50 UpdateOrderResponse: properties: externalOrderNumber: type: string description: >- External order number created by the vendor or third party payment processer. , e. g. Super PNR id. maxLength: 50 merchantOrderNumber: type: string description: >- Unique identifier generated by a merchant to identify a customer order. This identifier is passed in as received by the vendor or partner from the merchant. maxLength: 50 payWithPointsAuthorizationNumber: type: string description: >- Identifies a unique occurrence of an authorization for a pay with points transaction. The value is sequentially assigned in a non-intelligent manner and is not the actual authorization code sent back to the merchant from the authorizations engine during the authorization request. maxLength: 11 merchantDefinedProductCode: type: string description: >- Codifies the product referred in the Merchant Relationship Manager Service built within Loyalty application interface. The value is internally assigned by the application according to the reward product code (RPC). maxLength: 50 DeleteOrderResponse: properties: externalOrderNumber: type: string description: >- External order number created by the vendor or third party payment processer. , e. g. Super PNR id. maxLength: 50 merchantOrderNumber: type: string description: >- Unique identifier generated by a merchant to identify a customer order. This identifier is passed in as received by the vendor or partner from the merchant. maxLength: 50 merchantDefinedProductCode: type: string description: >- Codifies the product referred in the Merchant Relationship Manager Service built within Loyalty application interface. The value is internally assigned by the application according to the reward product code (RPC). maxLength: 50 Error: properties: errorDescription: type: string description: Freeform explanatory text for the error. maxLength: 250 serviceErrorCode: type: string description: >- A code defined by the API provider that describes the specific error for a given API. This code provides more fine grained information than the httpStatusCode. As an example if an API provides an httpStatusCode of 400 they may also include the serviceErrorCode that includes more specific information of what caused a 400 response. (i.e. INVALID_EMAIL, INVALID_PHONE_NUMBER, etc) maxLength: 20 externalErrorCode: type: string maxLength: 90 description: >- A code defined by the API provider that describes the specific error for a given API. This code provides more fine grained information than the httpStatusCode.As an example if an API provides an httpStatusCode of 400 they may also include the serviceErrorCode that includes more specific information of what caused a 400 response.(i. e. INVALID_EMAIL, INVALID_PHONE_NUMBER, etc) Order: properties: externalOrderNumber: type: string description: >- External order number created by the vendor or third party payment processer. , e. g. Super PNR id. maxLength: 50 merchantOrderNumber: type: string description: >- Unique identifier generated by a merchant to identify a customer order. This identifier is passed in as received by the vendor or partner from the merchant. maxLength: 50 orderDate: type: string description: >- Designates the year, month, and day the request to purchase a service(s) or good(s) took place. format: date-time x-chase-dataelem: INTL/168282/N/N externalTransactionTypeCode: type: string description: >- Code describing the type of transaction. Must be a valid transaction type. The value is defined by Chase and provided to the partner). maxLength: 6 x-chase-dataelem: INTL/7108/N/N usdRewardsTransactionAmount: type: number description: >- The amount of the rewards transaction in US dollars. This is derived from the rewards transaction amount in rewards currency (points, miles, etc. ) format: double x-chase-dataelem: CONF//N/N rewardsTransactionAmount: type: number description: >- The rewards transaction amount in rewards currency (points, miles, etc. ) format: double x-chase-dataelem: CONF//N/N rewardsConversionRate: type: number description: >- The factor used to convert rewards from rewards currency to US dollars. This is not required for Delete Order. format: float merchantCategoryCode: type: string description: >- Codifies a merchants primary goods or services sold, this is a four-digit number associated with a business by a credit/debit card merchant acquirer or merchant transaction processor. This field is mandatory for create Orders and optional for Update and Delete orders. maxLength: 4 x-chase-dataelem: INTL/7098/N/N required: - externalOrderNumber - orderDate - usdRewardsTransactionAmount - rewardsConversionRate - externalTransactionTypeCode - merchantCategoryCode