Webhooks API

Set up and manage webhook subscriptions to receive real-time notifications about key events, like transactions, account changes, or client onboarding, directly to your platform, so you can automate workflows and respond instantly as events happen. This API lets you create, update, and monitor your webhook endpoints, giving you fine-grained control over which events you track and how you handle them.

Operations 4

GET /webhooks List webhooks #
POST /webhooks Create a webhook subscription. #
GET /webhooks/{id} Get a webhook subscription by ID. #
POST /webhooks/{id} Update a webhook by ID. #

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/webhooks-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-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Webhooks API
  version: 1.0.55
  description: Set up and manage webhook subscriptions to receive real-time notifications about key events, like transactions, account changes, or client onboarding, directly to your platform, so you can automate workflows and respond instantly as events happen. This API lets you create, update, and monitor your webhook endpoints, giving you fine-grained control over which events you track and how you handle them.
  contact:
    name: JPMC Technical Services Support
servers:
- url: https://api.payments.jpmorgan.com/embedded/v1
  description: PRODUCTION - MTLS
- url: https://api-mock.payments.jpmorgan.com/embedded/v1
  description: MOCK
- url: https://api-sandbox.payments.jpmorgan.com/embedded/v1
  description: CLIENT TESTING - MTLS
tags:
- name: Webhooks
  description: Create and manage webhook subscriptions for your platform.
paths:
  /webhooks:
    get:
      summary: List webhooks
      description: List all your webhooks
      operationId: listWebhooks
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/pageNo'
      - $ref: '#/components/parameters/pageSize'
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWebhookResponse'
              examples:
                ListWebhooks:
                  $ref: '#/components/examples/ListWebhooks'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
    post:
      summary: Create a webhook subscription.
      description: Create a webhook subscription
      operationId: createWebhook
      tags:
      - Webhooks
      parameters: []
      requestBody:
        required: true
        description: Create a new webhook request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookRequest'
            examples:
              Create a new webhook and event subscription:
                summary: Create a new webhook
                description: Create a new webhook
                value:
                  subscriptions:
                  - eventType: TRANSACTION_COMPLETED
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
              examples:
                CreateAWebhookRes:
                  $ref: '#/components/examples/CreateAWebhookRes'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      callbacks:
        Transaction Event Callback:
          Callback URL:
            post:
              summary: Transaction Event Callback
              description: Triggered when a transaction is completed or failed.
              operationId: transactionEventCallback
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/TransactionCallbackEvent'
              responses:
                '200':
                  description: Callback accepted.
        Account Event Callback:
          Callback URL:
            post:
              summary: Account Event Callback
              description: Triggered when a client account is created, closed, overdrawn or a restriction is applied.
              operationId: accountEventCallback
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/AccountCallbackEvent'
              responses:
                '200':
                  description: Callback accepted.
        Recipient Event Callback:
          Callback URL:
            post:
              summary: Recipient Event Callback
              description: Triggered when a recipient validation event occurs.
              operationId: recipientEventCallback
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/RecipientsCallbackEvent'
              responses:
                '200':
                  description: Callback accepted.
        Client Event Callback:
          Callback URL:
            post:
              summary: Client Event Callback
              description: Triggered when a client's onboarding status changes, or more information is required.
              operationId: clientEventCallback
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ClientCallbackEvent'
              responses:
                '200':
                  description: Callback accepted.
        Party Event Callback:
          Callback URL:
            post:
              summary: Party Event Callback
              description: Triggered when a party screen event occurs.
              operationId: partyEventCallback
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/PartyCallbackEvent'
              responses:
                '200':
                  description: Callback accepted.
  /webhooks/{id}:
    get:
      summary: Get a webhook subscription by ID.
      description: Get details of your subscription to a specific webhook.
      operationId: getWebhook
      tags:
      - Webhooks
      parameters:
      - name: id
        in: path
        description: Unique identifier for webhook subscription.
        required: true
        example: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        schema:
          type: string
        style: simple
      responses:
        '200':
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
              examples:
                GetWebhookByIdRes:
                  $ref: '#/components/examples/GetWebhookByIdRes'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
    post:
      summary: Update a webhook by ID.
      description: Add or Remove webhook subscriptions and change a webhook status to ACTIVE or INACTIVE
      operationId: updateWebhook
      tags:
      - Webhooks
      parameters:
      - name: id
        in: path
        example: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        schema:
          type: string
        description: Unique identifier of the webhook to be updated
        required: true
      requestBody:
        required: true
        description: Update an existing webhook subscription.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookUpdateRequest'
            examples:
              Update an existing webhook subscription with more events:
                summary: Adding subscription(s) to a webhook
                description: Request to add new subscription(s) to an existing webhook
                value:
                  subscriptions:
                  - eventType: TRANSACTION_COMPLETED
                  - eventType: TRANSACTION_FAILED
                  status: ACTIVE
              Update an existing webhook subscription to remove events:
                summary: Removing subscription(s) from a webhook
                description: Request to remove subscription(s) from a webhook
                value:
                  subscriptions:
                  - eventType: TRANSACTION_FAILED
                  status: ACTIVE
              Deactivate an existing webhook subscription:
                summary: Changing status of a webhook
                description: Request to change the status of a webhook
                value:
                  subscriptions:
                  - eventType: TRANSACTION_COMPLETED
                  - eventType: TRANSACTION_FAILED
                  status: INACTIVE
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
              examples:
                AddEventsToAWebhookSubscriptionRes:
                  $ref: '#/components/examples/AddSubscriptionsToAWebhookRes'
                RemoveEventsToAWebhookSubscriptionRes:
                  $ref: '#/components/examples/RemoveSubscriptionsFromAWebhookRes'
                ReplaceStatusOfAWebhookSubscriptionRes:
                  $ref: '#/components/examples/ChangeStatusOfAWebhookRes'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
webhooks:
  events:
    post:
      summary: Embedded Finance Event posted
      tags:
      - Webhooks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookCallbackEvent'
      responses:
        '200':
          description: Your server returns this code if it accepts the callback
components:
  examples:
    GetWebhookByIdRes:
      summary: Get a webhook by Id
      description: Get a webhook by Id
      value:
        id: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        subscriptions:
        - eventType: TRANSACTION_COMPLETED
        status: ACTIVE
        createdAt: '2023-10-29T18:32:07.447Z'
        updatedAt: '2023-10-29T18:32:07.447Z'
    ChangeStatusOfAWebhookRes:
      summary: Changing status of a webhook
      description: Request to change the status of a webhook
      value:
        id: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        subscriptions:
        - eventType: TRANSACTION_COMPLETED
        - eventType: TRANSACTION_FAILED
        status: INACTIVE
        createdAt: '2023-10-19T01:25:44.219Z'
        updatedAt: '2023-10-19T01:25:44.219Z'
    ListWebhooks:
      summary: List all webhooks
      description: List all webhooks
      value:
        metadata:
          page: 1
          limit: 30
          total_items: 4
        items:
        - id: c958b86c-26d1-4198-ab0e-b6ffd06d2ed6
          subscriptions:
          - eventType: CLIENT_ONBOARDING
          status: ACTIVE
          createdAt: '2023-10-29T18:18:01.714Z'
          updatedAt: '2023-10-29T18:18:01.714Z'
        - id: 944803b0-f1c2-4b28-91ce-8985b1f317a7
          subscriptions:
          - eventType: TRANSACTION_COMPLETED
          status: ACTIVE
          createdAt: '2023-10-29T18:18:01.714Z'
          updatedAt: '2023-10-29T18:18:01.714Z'
        - id: d958b86c-26d1-4198-ab0e-b6ffd06d2ed6
          subscriptions:
          - eventType: TRANSACTION_FAILED
          status: ACTIVE
          createdAt: '2023-10-29T18:18:01.714Z'
          updatedAt: '2023-10-29T18:18:01.714Z'
        - id: c858b86c-26d1-4188-ab0e-b6ffd06d2ed6
          subscriptions:
          - eventType: PARTY_NETWORK_SCREENING
          status: ACTIVE
          createdAt: '2023-10-29T18:18:01.714Z'
          updatedAt: '2023-10-29T18:18:01.714Z'
    AddSubscriptionsToAWebhookRes:
      summary: Adding subscription(s) to a webhook
      description: Request to add new subscription(s) to an existing webhook
      value:
        id: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        subscriptions:
        - eventType: TRANSACTION_COMPLETED
        - eventType: TRANSACTION_FAILED
        status: ACTIVE
        createdAt: '2023-10-19T01:25:44.219Z'
        updatedAt: '2023-10-19T01:25:44.219Z'
    RemoveSubscriptionsFromAWebhookRes:
      summary: Removing subscription(s) from a webhook
      description: Request to remove subscription(s) from a webhook
      value:
        id: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        subscriptions:
        - eventType: TRANSACTION_FAILED
        status: ACTIVE
        createdAt: '2023-10-19T01:25:44.219Z'
        updatedAt: '2023-10-19T01:25:44.219Z'
    CreateAWebhookRes:
      summary: Create a new webhook response
      description: create a new webhook response
      value:
        id: 944803b0-f1c2-4b28-91ce-8985b1f317a7
        subscriptions:
        - eventType: TRANSACTION_COMPLETED
        status: ACTIVE
        createdAt: '2023-10-29T17:59:13.699Z'
        updatedAt: '2023-10-29T17:59:13.699Z'
  schemas:
    RestrictionsCallbackEvent:
      title: Restrictions Callback Event
      allOf:
      - $ref: '#/components/schemas/WebhookCallbackEventBase'
      - type: object
        required:
        - resourceType
        - resourceObject
        properties:
          resourceType:
            type: string
            default: RESTRICTIONS
          resourceObject:
            $ref: '#/components/schemas/RestrictionsCallbackResource'
      example:
        summary: Account Restriction Added callback event
        description: This is an example of an account restriction added event to be sent to a client
        value:
          eventId: '12345'
          eventType: ACCOUNT_RESTRICTION
          subEventType: ADDED
          resourceType: RESTRICTIONS
          resource: '{"id":"17bgc55243d24e589c1eca6b72325890","requestId":"05742401-088f-41b5-9c73-32e5a502ccde","restrictionId":"befcda2d-b351-48d2-9e4d-e9ef0a07890d","restrictionReason":"CLIENT_REQUESTED","restrictionType":"DEBITS"}'
          resourceObject:
            id: 17bgc55243d24e589c1eca6b72325890
            requestId: 05742401-088f-41b5-9c73-32e5a502ccde
            restrictionId: befcda2d-b351-48d2-9e4d-e9ef0a07890d
            restrictionReason: CLIENT_REQUESTED
            restrictionType: DEBITS
    RemittanceCallbackEvent:
      title: Remittance Callback Event
      allOf:
      - $ref: '#/components/schemas/WebhookCallbackEventBase'
      - type: object
        required:
        - resourceType
        - resourceObject
        properties:
          resourceType:
            type: string
            default: REMITTANCE
          resourceObject:
            $ref: '#/components/schemas/RemittanceCallbackResource'
    TransactionCounterPartyContactDetailsV3:
      description: Contact details of the counterparty.
      type: object
      properties:
        alternateName:
          description: The alternate name of the counterparty.
          type: string
          example: Monica Downey
        phoneNumber:
          description: The phone number of the counterparty.
          type: string
          example: '+1234567890'
        emailAddress:
          description: The email address of the counterparty.
          type: string
          example: example@email.com
        website:
          description: The website of the counterparty.
          type: string
          example: https://www.example.com
    TransactionCounterPartyAddressDetailsV3:
      description: The address details of the counterparty.
      type: object
      required:
      - city
      - country
      properties:
        type:
          description: The type of the counterparty address.
          type: string
          example: RESIDENTIAL_ADDRESS
        buildingNumber:
          description: Building name or number.
          type: string
          example: Apt 2E
        streetName:
          description: The street name of the counterparty address.
          type: string
          example: 90 Bedford Street
        city:
          description: Address city.
          type: string
          example: Springfield
        country:
          type: string
          description: Two letter country code based on ISO 3166 standard, includes SEPA regions
          example: US
        countrySubDivision:
          description: State or province code.
          type: string
          example: ND
        postalCode:
          description: Postal/ZIP code.
          type: string
          example: '58008'
    TransactionCounterPartyExternalAccountV3:
      title: External Account
      description: The external account of the counterparty
      type: object
      required:
      - type
      - externalAccount
      properties:
        type:
          description: The type of the counterparty account
          type: string
          minLength: 1
        externalAccount:
          $ref: '#/components/schemas/TransactionCounterPartyExternalAccountDetailsV3'
    TransactionCounterPartyCardAccountDetailsV3:
      description: The card details of the counterparty account.
      type: object
      properties:
        name:
          description: The name of the counterparty card holder.
          type: string
          minLength: 1
          example: M GELLAR
        number:
          description: The number of the counterparty card holder.
          type: string
          minLength: 1
          example: '4137110019999999'
        expiryDate:
          description: The expiry date of the counterparty card holder.
          type: string
          minLength: 1
          example: '2207'
    CorrectedValue:
      type: object
      required:
      - field
      - value
      properties:
        field:
          type: string
          description: The field to be fixed
          example: ACCTNUM
        value:
          type: string
          description: The correct value for this field
          example: '1271271448'
    RestrictionsCallbackResource:
      type: object
      properties:
        id:
          description: Account identifier
          type: string
          example: 1947f5a1a6ec44b48dda074ef4cb6fd5
        clientId:
          description: A client's unique ID
          type: string
          example: '1000010400'
        requestId:
          description: Identifier for the request. This identifier is specific to this particular request.
          type: string
          example: efeacff8-fd2c-4f54-a12e-2a8f90d4d325
          maxLength: 36
          minLength: 1
        restrictionId:
          description: Unique identifier for the restriction
          type: string
          example: 4c89fa2f-f452-4ca3-86cf-851362370357
        restrictionReason:
          $ref: '#/components/schemas/RestrictionReasonV2'
        restrictionType:
          $ref: '#/components/schemas/RestrictionTypeV2'
        restrictionStatus:
          $ref: '#/components/schemas/RestrictionStatusV2'
        holdAmount:
          $ref: '#/components/schemas/HoldAmount'
        effectiveFrom:
          $ref: '#/components/schemas/Timestamp'
        effectiveUntil:
          $ref: '#/components/schemas/Timestamp'
    ClientCallbackResource:
      type: object
      properties:
        id:
          description: A client's unique ID
          type: string
          example: '1000010400'
        status:
          description: The client's status.
          type: string
          enum:
          - APPROVED
          - DECLINED
          - INFORMATION_REQUESTED
          - NEW
          - REVIEW_IN_PROGRESS
          - SUSPENDED
          - TERMINATED
          example: APPROVED
        hasOutstandingInformation:
          description: '`true` if the client has outstanding items, otherwise `false`.'
          type: boolean
        customerIdentityStatus:
          description: The status of the customer identification process.
          type: string
          enum:
          - APPROVED
          - INFORMATION_REQUESTED
          - NOT_STARTED
          - REVIEW_IN_PROGRESS
        effectiveDate:
          description: It denotes the date(YYYY-MM-DD) on which the threshold limit is applicable.
          type: string
          format: date
          pattern: ^\d{4}-\d{2}-\d{2}$
          example: '2022-12-31'
        limitType:
          type: string
          enum:
          - AGGREGATE_OVERDRAWN
        aggregateOverdrawn:
          $ref: '#/components/schemas/AggregateOverdrawn'
    TransactionCounterPartyDetailsV3:
      description: The party details of the counterparty.
      type: object
      properties:
        type:
          description: The type of the counterparty.
          type: string
          example: INDIVIDUAL
        name:
          description: The name of the counterparty (individual or organization).
          type: string
          example: John Doe
        address:
          $ref: '#/components/schemas/TransactionCounterPartyAddressDetailsV3'
        identities:
          type: array
          description: The Identity details for the counterparty.
          items:
            $ref: '#/components/schemas/TransactionCounterPartyIdentityDetailsV3'
          minItems: 0
        contacts:
          $ref: '#/components/schemas/TransactionCounterPartyContactDetailsV3'
    WebhookCallbackEvent:
      oneOf:
      - $ref: '#/components/schemas/TransactionCallbackEvent'
      - $ref: '#/components/schemas/ClientCallbackEvent'
      - $ref: '#/components/schemas/PartyCallbackEvent'
      - $ref: '#/components/schemas/RemittanceCallbackEvent'
      - $ref: '#/components/schemas/AccountCallbackEvent'
      - $ref: '#/components/schemas/RecipientsCallbackEvent'
      - $ref: '#/components/schemas/RestrictionsCallbackEvent'
      - $ref: '#/components/schemas/DocumentCallbackEvent'
      discriminator:
        propertyName: resourceType
        mapping:
          TRANSACTIONS: '#/components/schemas/TransactionCallbackEvent'
          CLIENTS: '#/components/schemas/ClientCallbackEvent'
          PARTIES: '#/components/schemas/PartyCallbackEvent'
          REMITTANCE: '#/components/schemas/RemittanceCallbackEvent'
          ACCOUNTS: '#/components/schemas/AccountCallbackEvent'
          RECIPIENTS: '#/components/schemas/RecipientsCallbackEvent'
          RESTRICTIONS: '#/components/schemas/RestrictionsCallbackEvent'
          DOCUMENTS: '#/components/schemas/DocumentCallbackEvent'
    WebhookCallbackEventBase:
      type: object
      required:
      - eventId
      - eventType
      - resourceType
      properties:
        eventId:
          type: string
          description: Unique identifier of the event
          example: '1863'
        eventType:
          $ref: '#/components/schemas/WebhookCallbackEventType'
        resourceType:
          $ref: '#/components/schemas/ResourceObjectType'
        resource:
          type: string
          description: Json formatted string containing the notification details
          example: '{"id": "UcMyVrUdXvZVhjUt","clientId": "0005191231","type": "ACH","debtorAccountId": "10de11e98255479dbf43fd77ff55aa51","recipientId": null,"amount": "0.1","currency": "USD","status": "REJECTED","transactionReferenceId": null,"paymentDate": "2023-11-23","ledgerBalance": "100.0"}'
        error:
          $ref: '#/components/schemas/ApiErrorV2'
    RemittanceCallbackResource:
      type: object
      properties:
        statusType:
          type: string
          enum:
          - INITIAL_STATUS
          - TRANSACTION_STATUS_REPORT
        traceId:
          type: string
          description: L0 response id
          example: 4b5a17ed-fa7e-426c-87ab-591b5ef86a0a
        transactionType:
          type: string
          description: to identify the transaction flow type
          example: LRS_CARD_TOPUP
        tsrGeneratedDateTime:
          type: string
        remittanceStatus:
          type: array
          items:
            $ref: '#/components/schemas/StatusDetails'
          minItems: 1
    DocumentCallbackResource:
      type: object
      properties:
        documentId:
          description: Document identifier
          type: string
          example: efeacff8-fd2c-4f54-a12e-2a8f90d4d325
          maxLength: 36
          minLength: 1
        documentType:
          description: Type of document
          type: string
          enum:
          - ACCOUNT_CONFIRMATION_LETTER
        parameters:
          type: object
          description: Parameters used to generate the document
          properties:
            accountId:
              description: Account identifier
              type: string
              example: 1947f5a1a6ec44b48dda074ef4cb6fd5
    TransactionCounterPartyAccountV3:
      description: The account details of the counterparty.
      oneOf:
      - $ref: '#/components/schemas/TransactionCounterPartyExternalAccountV3'
      - $ref: '#/components/schemas/TransactionCounterPartyRegisteredAccountV3'
      - $ref: '#/components/schemas/TransactionCounterPartyCardAccountV3'
      discriminator:
        propertyName: type
        mapping:
          CHECKING: '#/components/schemas/TransactionCounterPartyExternalAccountV3'
          SAVINGS: '#/components/schemas/TransactionCounterPartyExternalAccountV3'
          IBAN: '#/components/schemas/TransactionCounterPartyExternalAccountV3'
          REGISTERED_ACCOUNT: '#/components/schemas/TransactionCounterPartyRegisteredAccountV3'
          CARD: '#/components/schemas/TransactionCounterPartyCardAccountV3'
          NOT_APPLICABLE: '#/components/schemas/TransactionCounterPartyExternalAccountV3'
    ResourceObjectType:
      type: string
      enum:
      - TRANSACTIONS
      - CLIENTS
      - PARTIES
      - REMITTANCE
      - ACCOUNTS
      - RECIPIENTS
      - DOCUMENTS
    AccountTypeForNotification:
      description: Category of the account
      type: string
      enum:
      - CLIENT_DDA
      - DDA
      - LIMITED_DDA
      - EMBEDDED_DDA
      - MANAGEMENT
      - PROCESSING
    OverdraftStatus:
      type: object
      description: Details related to the account overdraft status. This is only used when eventType is `ACCOUNT_OVERDRAWN`.
      properties:
        effectiveDate:
          description: It denotes the date on which the ledger balance is applicable.
          type: string
          format: date
          example: '2022-12-31'
        ledgerBalance:
          type: string
          description: The account balance. If the value is negative, then the account is overdrawn.
          minLength: 1
          maxLength: 40
          pattern: ^[-+]?\d+(\.\d+)?$
          example: '-100.0'
        daysOverdrawn:
          type: integer
          description: Number of days the account has been overdrawn.
          example: 60
    PartyCallbackResource:
      type: object
      properties:
        id:
          description: A party's unique ID
          type: string
          example: '1000010400'
        acquirerMerchantId:
          description: Acquirer's External Merchant Id
          type: string
          example: '2000000111'
        profileStatus:
          description: The client's status.
          type: string
          enum:
          - APPROVED
          - DECLINED
          - INFORMATION_REQUESTED
          - NEW
          - REVIEW_IN_PROGRESS
          - SUSPENDED
          - TERMINATED
          example: APPROVED
    PaymentRoutingInformation:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        routingInformation:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/RoutingInformationItem'
    TransactionCounterPartyCardAccountV3:
      title: Card Account
      description: The card account of the counterparty
      type: object
      required:
      - type
      - card
      properties:
        type:
          description: The type of the counterparty account
          type: string
          minLength: 1
          default: CARD
        card:
          $ref: '#/components/schemas/TransactionCounterPartyCardAccountDetailsV3'
    RestrictionStatus:
      type: string
      description: Status of the restriction
      enum:
      - ACTIVE
      - INACTIVE
    HoldAmount:
      description: Amount to hold
      type: string
      example: '50000.56'
    StatusDetails:
      type: object
      description: StatusDetails
      properties:
        recordNumber:
          type: string
          description: record number transaction array index
        paymentId:
          type: string
          description: payment information Id
          example: PayRef101
        remittanceId:
          type: string
          description: organization end to end  id
          example: INV-00911
        status:
          type: string
          description: 'transaction status.

            COMPLETED: Good To Pay

            COMPLETED: Good To Withdraw

            PENDING: Under Review

            REJECTED: Cannot Be Processed

            ROLLOVER: Rollover To Future Date

            RETURNED: Returned'
          enum:
          - PENDING
          - COMPLETED
          - REJECTED
          - ROLLOVER
          - RETURNED
        context:
          type: array
          items:
            properties:
              code:
                type: string
              message:
                type: string
                description: additional information
                example: 'Invalid record: incorrect PurposeCode'
          description: reasons
          minItems: 0
          maxItems: 100
    AggregateOverdrawn:
      type: object
      properties:
        amount:
          type: string
          description: Aggregated overdrawn amount
          pattern: '[-.0-9]+'
          example: '-1000'
        percent:
          type: string
          pattern: ^\d+(\.\d+)?$
          description: Aggregated overdrawn percentage
          example: '80'
        maxAmount:
          type: string
          description: Maximum overdrawn limit
          pattern: '[-.0-9]+'
          example: '-10000'
        alertPercent:
          type: string
          pattern: ^\d+(\.\d+)?$
          description: Denotes the alert percentage at which clients would be notified when aggregate overdraft breaches this limit
          example: '80'
        alertResetPercent:
          type: string
          pattern: ^\d+(\.\d+)?$
          description: Denotes the alert percentage reset at which clients would stop getting alerted when aggregate overdraft is within this limit
          example: '70'
        restrictPercent:
          type: string
          pattern: ^\d+(\.\d+)?$
          description: Denotes the restrict percentage at which clients transactions would be rejected when aggregate overdraft breaches this limit
          example: '120'
        restrictResetPercent:
          type: string
          pattern: ^\d+(\.\d+)?$
          description: Denotes the restrict percentage reset at which clients transactions would stop being rejected when aggregate overdraft is within this limit
          example: '110'
    DocumentCallbackEvent:
      title: Document Callback Event
      allOf:
      - $ref: '#/components/schemas/WebhookCallbackEventBase'
      - type: object
        required:
        - resourceType
        - resourceObject
        properties:
          resourceType:
            type: string
            default: DOCUMENTS
          resourceObject:
            $ref: '#/components/schemas/DocumentCallbackResource'
      example:
        summary: Document generated callback event
        description: This is an example of event to be sent on document generation
        value:
          eventId: '12345'
          eventType: DOCUMENT_GENERATED
          resourceType: DOCUMENTS
          resourceObject:
            documentId: 17bgc55243d24e589c1eca6b72325890
            documentType: ACCOUNT_CONFIRMATION_LETTER
            parameters:
              accountId: 6925f3ceaf364353a381499c8626ae0c
    RecipientType:
      type: string
      enum:
      - RECIPIENT
      - LINKED_ACCOUNT
      - SETTLEMENT_ACCOUNT
      example: RECIPIENT
    TransactionCounterPartyIdentityDetailsV3:
      description: Identity details for the counterparty.
      type: object
      properties:
        idType:
          type: string
          enum:
          - USCC
  

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-webhooks-api-openapi.yml