Notifications API

Notification API enables merchants to subscribe to and receive notifications in real-time.

Operations 4

GET /notifications/{notification-id} Get a notification by notification Id #
GET /notificationTypes Get all notification event types available #
GET /notifications Get all notifications within a date range by notification status #
GET /public-keys Get a notification public key

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/notifications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

jp-morgan-chase-notifications-api-openapi.yml Raw ↑
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