Notifications API
Notification API enables merchants to subscribe to and receive notifications in real-time.
Notification API enables merchants to subscribe to and receive notifications in real-time.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/notifications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Jp Morgan Chase Notifications API
version: '1.0'
description: 'Operations tagged Notifications across 2 of this provider''s published API definitions: jp-morgan-chase-alerts-and-decisioning-api-openapi.yml, jp-morgan-chase-notifications-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.payments.jpmorgan.com/trust-safety/v1
description: PRODUCTION - MTLS
- url: https://api-cat.payments.jpmorgan.com/trust-safety/v1
description: CLIENT TESTING - MTLS
- url: https://api-mock.payments.jpmorgan.com/trust-safety/v1
description: MOCK
- url: https://mns-aws.jpmchase.com/v1
description: PRODUCTION - OAUTH
- url: https://mns-aws-cat.jpmchase.com/v1
description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/v1
description: MOCK
tags:
- name: Notifications
paths:
/notifications/{notification-id}:
get:
summary: Get a notification by notification Id
operationId: v1GetNotificationByNotificationId
tags:
- Notifications
description: Retrieves a specific notification using the notification Id
parameters:
- name: merchant-id
in: header
deprecated: true
schema:
type: string
pattern: ^[0-9]{8,12}$
description: Identifier for the merchant account.
examples:
Success:
value: '9876543210'
Authentication failure:
value: '9876543211'
Authorization failure:
value: '9876543212'
Notification not found:
value: '9876543213'
- name: request-id
in: header
required: true
schema:
type: string
format: uuid
description: A unique identifier provided by the requestor for each request.
examples:
Success:
value: 7611d1bf-325c-4795-a828-ac21f9bea5dc
Authentication failure:
value: 7611d1bf-325c-4795-a828-ac21f9bea7ab
Authorization failure:
value: 7611d1bf-325c-4795-a828-ac21f9bea8dc
Notification not found:
value: 7611d1bf-325c-4795-a828-ac21f9bea6ab
- name: notification-id
in: path
required: true
schema:
type: string
format: uuid
description: A unique identifier provided by the requestor for each request.
examples:
Success:
value: 44444444-4017-11e9-b649-8de064221544
Authentication failure:
value: 44444444-4017-11e9-b649-8de064221234
Authorization failure:
value: 44444444-4017-11e9-b649-8de064224567
Notification not found:
value: 44444444-4017-11e9-b649-8de064227890
- name: entity-id
in: header
required: true
schema:
type: string
pattern: ^[0-9]{8,12}$
description: Identifier for the entity.
examples:
Success:
value: '9876543210'
Authentication failure:
value: '9876543211'
Authorization failure:
value: '9876543212'
Notification not found:
value: '9876543213'
- name: entity-type
in: header
required: true
schema:
type: string
enum:
- MERCHANT
- PLATFORM
- CLIENT
- ACCOUNT
- EMBEDDED_PLATFORM
- CONSUMER
description: Type of entity identifier.
examples:
Success:
value: MERCHANT
Authentication failure:
value: PLATFORM
Authorization failure:
value: CLIENT
Notification not found:
value: ACCOUNT
- name: subscription-channel
in: header
schema:
type: string
enum:
- WEBHOOK
- EMAIL
- IN-APP-COMMERCE-CENTER
description: List of medium through which event notifications will be delivered to recipient.
examples:
Success:
value: WEBHOOK
Authentication failure:
value: EMAIL
Authorization failure:
value: WEBHOOK
Notification not found:
value: EMAIL
- name: parent-entity-id
in: header
schema:
type: string
pattern: ^[0-9]{8,12}$
description: Identifies the Parent Entity in the merchant hierarchy applicable to this request (e.g. platform ID in ISV use cases).
examples:
Success:
value: 0123456797
Authentication failure:
value: 0123456798
Authorization failure:
value: 0123456799
- name: parent-entity-type
in: header
schema:
type: string
enum:
- PLATFORM
- EMBEDDED_PLATFORM
description: Code for the Parent Entity Type in the merchant hierarchy applicable to this request (e.g. platform in ISV use cases).
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/notificationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
security:
- BearerAuth: []
servers:
- url: https://mns-aws.jpmchase.com/v1
description: PRODUCTION - OAUTH
- url: https://mns-aws-cat.jpmchase.com/v1
description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/v1
description: MOCK
/notificationTypes:
get:
summary: Get all notification event types available
operationId: v1SubscriptionsTypeGet
tags:
- Notifications
description: Retrieves all available notification event types and sub-types for subscription
parameters:
- name: request-id
in: header
required: true
schema:
type: string
format: uuid
description: A unique identifier provided by the requestor for each request.
examples:
Success:
value: 7611d1bf-325c-4795-a828-ac21f9bea5dc
Success CommerceCenterUserAccess:
value: 7611d1bf-325c-4795-b5e3-7f2d0c8e64a1
Authentication failure:
value: 7611d1bf-325c-4795-a828-ac21f9bea7ab
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/notificationTypeResponse'
examples:
Success:
value:
notificationTypes:
- notificationType: paymentUpdateNotification
notificationDescription: Subscribe to notifications for payment update.
supportedSubtypes:
- notificationSubType: PaymentApproved
subTypeDescription: Indicates the payment has been approved.
subscriptionChannels:
- WEBHOOK
- EMAIL
Success CommerceCenterUserAccess:
value:
notificationTypes:
- notificationType: CommerceCenterUserAccess
notificationDescription: When custom branding on registration emails is required, use this first time registration subtype.
supportedSubtypes:
- notificationSubType: firstTimeRegistration
subTypeDescription: Customized registration emails
subscriptionChannels:
- EMAIL
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
security:
- BearerAuth: []
servers:
- url: https://mns-aws.jpmchase.com/v1
description: PRODUCTION - OAUTH
- url: https://mns-aws-cat.jpmchase.com/v1
description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/v1
description: MOCK
/notifications:
get:
summary: Get all notifications within a date range by notification status
operationId: v1GetNotification
tags:
- Notifications
description: Retrieves all notifications within a date range for a particular notification status or no status provided
parameters:
- name: request-id
in: header
required: true
schema:
type: string
format: uuid
description: A unique identifier provided by the requestor for each request.
examples:
Notification with date range:
value: 7611d1bf-325c-4795-a828-ac21f9bea5dc
Notification with status:
value: 7611d1bf-325c-4795-a828-ac21f9bea7ab
- name: merchant-id
in: header
deprecated: true
schema:
type: string
pattern: ^[0-9]{8,12}$
description: Identifier for the merchant account.
examples:
Notification with date range:
value: '9876543210'
Notification with status:
value: '9876543211'
- name: date-range-start
in: header
required: true
schema:
type: string
description: This is used for specifying individual parameters under API endpoint methods.
examples:
Notification with date range:
value: '2022-05-24'
Notification with status:
value: '2022-05-24'
- name: date-range-end
in: header
required: true
schema:
type: string
description: This is used for specifying individual parameters under API endpoint methods.
examples:
Notification with date range:
value: '2022-05-24'
Notification with status:
value: '2022-05-24'
- name: notification-status
in: header
schema:
type: string
default: FAILED
enum:
- SENT
- PENDING
- FAILED
description: Codifies the delivery status for e-mail, Short Message Service (SMS), and push notifications for alert or notification type recorded by the Delivery Engine when processing alert or notifications.
examples:
Notification with status:
value: FAILED
- name: entity-id
in: header
required: true
schema:
type: string
pattern: ^[0-9]{8,12}$
description: Identifier for the entity.
examples:
Notification with date range:
value: '9876543210'
Notification with status:
value: '9876543209'
- name: entity-type
in: header
required: true
schema:
type: string
enum:
- MERCHANT
- PLATFORM
- CLIENT
- ACCOUNT
- EMBEDDED_PLATFORM
- CONSUMER
description: Type of entity identifier.
- name: parent-entity-id
in: header
schema:
type: string
pattern: ^[0-9]{8,12}$
description: Identifies the Parent Entity in the merchant hierarchy applicable to this request (e.g. platform ID in ISV use cases).
examples:
Success:
value: 0123456797
Authentication failure:
value: 0123456798
Authorization failure:
value: 0123456799
- name: parent-entity-type
in: header
schema:
type: string
enum:
- PLATFORM
- EMBEDDED_PLATFORM
description: Code for the Parent Entity Type in the merchant hierarchy applicable to this request (e.g. platform in ISV use cases).
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/notificationSearchResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
security:
- BearerAuth: []
servers:
- url: https://mns-aws.jpmchase.com/v1
description: PRODUCTION - OAUTH
- url: https://mns-aws-cat.jpmchase.com/v1
description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/v1
description: MOCK
/public-keys:
get:
summary: Get a notification public key
tags:
- Notifications
description: This endpoint delivers public key information in JSON Web Key Set (JWKS) format, enabling clients to retrieve the keys needed to verify the signatures of received webhook messages.
parameters:
- name: request-id
in: header
required: true
schema:
type: string
format: uuid
description: A unique identifier provided by the requestor for each request.
examples:
Success:
value: 7611d1bf-325c-4795-a828-ac21f9bea5dc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/publicKeys'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/adfsError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
'504':
description: Gateway Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/messages'
security:
- BearerAuth: []
servers:
- url: https://mns-aws.jpmchase.com/v1
description: PRODUCTION - OAUTH
- url: https://mns-aws-cat.jpmchase.com/v1
description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/v1
description: MOCK
webhooks:
Payment:
post:
summary: Payment Hold Notification
operationId: webHookPaymentHoldNotification
description: 'Fired when a payment hold event occurs. The `type` field in the CloudEvents envelope
determines the specific event:
| Event Type | Description |
|------------|-------------|
| com.jpmorgan.payments.payment.hold.placed.`v1` | A payment has been held for review. The payload contains the complete hold including the payment details. |
| com.jpmorgan.payments.payment.hold.ammended.`v1` | A payment hold has been updated (decisioned, distributed, reassigned). The payload includes the updated status/substatus, decision and distribution, if applicable. |
| com.jpmorgan.payments.payment.hold.closed.`v1` | A payment hold has been closed. This event occurs when the hold is decisioned by the bank or when the decision is changed after payment distribution to notify JPMC about true fraud. NOTE: This event is only emitted when JPMC changes hold status/substatus and is NOT emitted when you decision a hold via API. |
'
tags:
- Notifications
x-codegen-request-body-name: body
requestBody:
description: Payment Hold Notification
required: true
content:
application/cloudevents+json:
schema:
$ref: '#/components/schemas/Notification'
examples:
PaymentHeldWireTransfer:
description: 'com.jpmorgan.payments.payment.hold.placed.v1 notification for a wire transfer.
Represents hold creation — contains the complete hold including the payment. No decision yet.
'
summary: Payment Held – Wire Transfer
value:
specversion: '1.0'
id: 7d2a159b-9c3a-4db2-bd03-e64047c32917
time: '2026-02-01T14:15:22Z'
type: com.jpmorgan.payments.payment.hold.placed.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: 06bca14f-1fc0-4cd7-9e0b-8bb7e06334f7
status: PENDING
substatus: PENDING_ACTION_CLIENT
cutOffAt: '2026-02-06T14:15:22Z'
rules:
- id: 59be9844-3a70-4fbc-8d58-9637c1b34b18
name: Client ABC Rule for Suspicious Beneficiary
effectiveAt: '2019-08-24'
payment:
requestedExecutionDate: '2026-02-01'
paymentIdentifiers:
endToEndId: E2E3000113WEBXX
value:
currency: USD
amount: '10.50'
transferType: DEBIT
paymentType: WIRE
debtorAgent:
financialInstitutionIds:
- id: CHASUS33XXX
idType: BIC
debtor:
name: Nicholas Tesla
account:
accountNumber: '987654321'
accountCurrency: USD
postalAddress:
type: HOME
addressLines:
- 10007 S. Lake Drive
streetName: 10007 Lake Dr
postalCode: '48035'
city: Clinton Township
countrySubDivision: MI
country: US
creditor:
name: Comrade Musics
account:
accountNumber: '123456011'
accountCurrency: USD
postalAddress:
country: US
PaymentHeldAch:
description: 'com.jpmorgan.payments.payment.hold.placed.v1 notification for an outgoing ACH payment.
Represents hold creation — contains the complete hold including the payment. No decision yet.
'
summary: Payment Held – Outgoing ACH
value:
specversion: '1.0'
id: c3a81f29-47d6-4e8b-a5c1-9f6b2d4e7a03
time: '2026-02-10T09:45:00Z'
type: com.jpmorgan.payments.payment.hold.placed.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: 253f67f3-b640-44cb-aabd-2cc348b52678
status: PENDING
substatus: PENDING_ACTION_CLIENT
cutOffAt: '2026-02-15T09:45:00Z'
rules:
- id: a4e7c910-6b3d-4f2a-8c15-d9f0e1b23456
name: ACH Amount Threshold Rule
effectiveAt: '2025-06-01'
payment:
requestedExecutionDate: '2026-02-10'
paymentIdentifiers:
endToEndId: E2E3000112CCDXX
value:
currency: USD
amount: '5250.00'
transferType: CREDIT
paymentType: ACH
debtorAgent:
financialInstitutionIds:
- id: CHASUS33XXX
idType: BIC
debtor:
name: Acme Corp
account:
accountNumber: '12311871'
accountCurrency: USD
postalAddress:
country: US
creditor:
name: Kelly Thomas
account:
accountNumber: '87654321'
postalAddress:
country: US
PaymentHeldRtp:
description: 'com.jpmorgan.payments.payment.hold.placed.v1 notification for a US Real-Time Payment (RTP).
Represents hold creation — contains the complete hold including the payment. No decision yet.
'
summary: Payment Held – US RTP
value:
specversion: '1.0'
id: f8d24a61-3b92-4c7e-a0d5-1e9f6c8b7a42
time: '2026-02-12T16:20:00Z'
type: com.jpmorgan.payments.payment.hold.placed.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: d7e3f1a9-4c82-4b6d-9a0e-5f2c8d1b3e70
status: PENDING
substatus: PENDING_ACTION_JPM
cutOffAt: '2026-02-12T17:20:00Z'
reasons:
- Unusual RTP amount flagged by fraud screening
payment:
requestedExecutionDate: '2026-02-12'
paymentIdentifiers:
endToEndId: E2E3000114RTPXX
value:
currency: USD
amount: '25000.00'
transferType: CREDIT
paymentType: RTP
debtorAgent:
financialInstitutionIds:
- id: '021000021'
idType: USABA
debtor:
name: Global Imports LLC
account:
accountNumber: '445566778'
accountCurrency: USD
postalAddress:
city: New York
countrySubDivision: NY
country: US
creditor:
name: Oceanic Trading Co
account:
accountNumber: '112233445'
accountCurrency: USD
postalAddress:
country: US
HoldAmendedAch:
description: 'com.jpmorgan.payments.payment.hold.ammended.v1 notification for an outgoing ACH hold that was approved by the client.
'
summary: Hold Updated – ACH Approved
value:
specversion: '1.0'
id: b2d4e6f8-1a3c-5d7e-9f0b-2c4d6e8a0b12
time: '2026-02-11T11:00:00Z'
type: com.jpmorgan.payments.payment.hold.ammended.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: 253f67f3-b640-44cb-aabd-2cc348b52678
status: APPROVED
substatus: APPROVED_CLIENT
decision:
source: API
HoldAmendedWireTransfer:
description: 'com.jpmorgan.payments.payment.hold.ammended.v1 notification for a wire transfer hold that was rejected as fraud.
'
summary: Hold Updated – Wire Transfer Rejected (Fraud)
value:
specversion: '1.0'
id: a1c9e3d7-82f4-4b6a-9d1e-3f7c8a2b5e90
time: '2026-02-03T09:30:00Z'
type: com.jpmorgan.payments.payment.hold.ammended.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: 06bca14f-1fc0-4cd7-9e0b-8bb7e06334f7
status: REJECTED
substatus: REJECTED_FRAUD_JPM
decision:
source: API
rejectReason: FRAUD
fraud:
type: OTHER
additionalInformation: Suspicious wire transfer to unknown beneficiary
HoldAmendedRtp:
description: 'com.jpmorgan.payments.payment.hold.ammended.v1 notification for a US RTP hold that was auto-cancelled due to expiration.
'
summary: Hold Updated – RTP Auto-Cancelled
value:
specversion: '1.0'
id: e9f1a3b5-c7d9-4e2f-b0a4-6d8c1e3f5a72
time: '2026-02-12T17:20:01Z'
type: com.jpmorgan.payments.payment.hold.ammended.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: d7e3f1a9-4c82-4b6d-9a0e-5f2c8d1b3e70
status: REJECTED
substatus: REJECTED_AUTO_CANCELLED_JPM
decision:
source: JPMC_UI
rejectReason: TRANSACTION_NO_LONGER_NEEDED
HoldClosedByJpmReview:
description: 'com.jpmorgan.payments.payment.hold.closed.v1 notification when a hold is closed by JPM review.
'
summary: Hold Closed – Closed by JPM Review
value:
specversion: '1.0'
id: b4d82e1f-6a93-4c7b-8e2d-9f1a3c5d7b60
time: '2026-02-05T11:20:00Z'
type: com.jpmorgan.payments.payment.hold.closed.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: 06bca14f-1fc0-4cd7-9e0b-8bb7e06334f7
status: REJECTED
substatus: REJECTED_FRAUD_JPM
decision:
source: API
rejectReason: FRAUD
fraud:
type: BUSINESS_EMAIL_COMPROMISE
HoldClosedTrueFraudAfterDistribution:
description: 'com.jpmorgan.payments.payment.hold.closed.v1 notification when true fraud is reported after payment distribution.
'
summary: Hold Closed – True Fraud Reported After Payment Distribution
value:
specversion: '1.0'
id: e7f19c4a-2d85-4b3e-a6c1-8d4f2e9b7a13
time: '2026-02-08T14:45:00Z'
type: com.jpmorgan.payments.payment.hold.closed.v1
source: api.payments.jpmorgan.com/trust-safety/v1
dataschema: urn:com.jpmorgan.payments/payment-hold
data:
id: 06bca14f-1fc0-4cd7-9e0b-8bb7e06334f7
status: REJECTED
substatus: REJECTED_FRAUD_JPM
decision:
source: API
rejectReason: FRAUD
fraud:
type: BUSINESS_EMAIL_COMPROMISE
responses:
'204':
description: Return a 204 status to indicate that the data was received successfully by client
servers:
- url: https://api.payments.jpmorgan.com/trust-safety/v1
description: PRODUCTION - MTLS
- url: https://api-cat.payments.jpmorgan.com/trust-safety/v1
description: CLIENT TESTING - MTLS
- url: https://api-mock.payments.jpmorgan.com/trust-safety/v1
description: MOCK
components:
schemas:
IndividualId:
type: object
title: IndividualId
required:
- individualId
description: "Can be used if organization ID is not populated, when the underlying payer is an Individual. It should be used together with Ultimate Debtor Name and address, and it should contain the payment account number of the underlying payer. In case the transfer has not been initiated from a payment account, the value populated should be a unique transaction identifier of the underlying payer which permits the traceability of the transaction back to them\n\nApplicable RTP markets:\n\n SEPA \n
# --- truncated at 32 KB (372 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-notifications-api-openapi.yml