How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Alerts and Decisioning API

Programmatically receives and decisions Payment Holds, automating your fraud review and hold resolution workflow to minimize operational delays while adhering to corporate IT standards.

Alerts and Decisioning API is one of 26 APIs that JPMorgan Chase publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Health and Payment Holds. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 5 operations across 5 paths, organized into 2 resource areas, and defines 71 schemas. It is described by OpenAPI 3.1.0, at version 1.0.5.

Requests are made against 3 base URLs: https://api.payments.jpmorgan.com/trust-safety/v1, https://api-cat.payments.jpmorgan.com/trust-safety/v1, https://api-mock.payments.jpmorgan.com/trust-safety/v1.

5 operations 5 paths 71 schemas 3 GET2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0.5
Base URL
https://api.payments.jpmorgan.com/trust-safety/v1
Resource Areas
2

Paths & Operations 5

Across 5 paths, the API surfaces 5 operations — 3 GET, 2 POST. They span 2 resource areas: Health, Payment Holds. Each is listed below with its method, path, parameters, and response codes.

Health 1

Service Health Checks

GET
/health
Shallow Health Check
getHealth → 200400401403503
Payment Holds 4

Manage Payment Holds

GET
/holds
Retrieve Payment Holds
getPaymentHolds 7 params → 200400401403429503
GET
/holds/{id}
Retrieve details of a payment hold
getPaymentHoldDetails 1 param → 200400401403404429503
POST
/holds/{id}/decision
Decision Single Payment Hold
decisionPaymentHold 1 param body → 200400401403404409429503
POST
/holds/decision/bulk
Decision Multiple Payment Holds (Bulk)
decisionPaymentHoldsBulk body → 200400401403409429503

Schemas 71

The contract defines 71 schemas that model the data the API accepts and returns. The most detailed are PaymentHold (11 properties), Payment (10 properties), Address (8 properties), AdditionalParties (6 properties). Each schema is shown below with its type and property counts.

HealthStatus
object
Health check response indicating the status of the service and its readiness.
5 properties 2 required
StandardCodeContext
object
Standard Code Context for error codes
3 properties 3 required
AdditionalContext
array
Additional details about the error based on a standard (e.g. ISO or Clearing codes)
ErrorContext
object
Error Context
5 properties 1 required
Error
object
Common Error Model
5 properties 1 required
DecisionStatus
string
Status of the payment hold | Enum Value | Description | |------------|-------------| | PENDING | Payment hold is pending review and decision | | APPROVED | Pay…
DecisionSubstatus
string
Substatus providing additional detail on the current state of the payment hold. | Enum Value | Description | |------------|-------------| | PENDINGACTIONCLIENT…
Uuid
string
Unique payment hold identifier generated by JPMC
Rule
object
Client defined rule
4 properties
EndToEndId
string
Customer assigned Unique identifier to unambiguously identify the Payment transaction. This identification is passed on, unchanged, throughout the entire end-t…
PaymentIdentifiers
object
Identifiers associated with the Payment Instruction throughout its lifecycle.
2 properties 1 required
IsoCurrencyCode
string
ISO 4217 Alpha-3 Currency Code
AmountDecimal
string
A String representation of a (potentially) whole number or decimal positive number. - Amount should be more than 0.01 with maximum of two decimal places allowe…
PaymentValue
object
A positive amount of value.
2 properties 2 required
TransferType
string
Indicates the direction of the money movement. The transaction is either a credit push transfer or a direct debit pull transfer. | Market/Instrument | Transfer…
PaymentType
string
The type of payment being initiated - WIRE for Wire Payments, ACH for ACH Payments, RTP for Real-Time Payments
AddressType
string
Type of address
UnstructuredAddress
array
Unstructured Addresses
StreetName
string
Street name
PostalCode
string
Postal code
IsoCountrySubdivisionCode
string
ISO 3166-2 Alphanumeric Country Subdivision Code
IsoCountryCode
string
ISO 3166-1 Alpha-2 Country Code
Address
object
Information that locates and identifies a specific address
8 properties
BasicParty
object
A party is an entity involved in a financial transaction. This entity can be an individual, a corporation, or any other organization that participates in the t…
4 properties
AccountId
string
Account number.
AccountType
string
Account Type
Account
object
Representation of a bank account. Features of the model may vary between different account types.
3 properties 1 required
OrganizationId
object
Collection of registration information held against the party. It can be used when the underlying payer is a Legal Entity. It should be used together with Ulti…
5 properties 1 required
OrganizationIdentification
object
Organization Identification Schemes
1 property 1 required
IndividualId
object
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,…
3 properties 1 required
IndividualIdentification
object
Individual Identification Schemes
1 property 1 required
PartyId
Party Identification
Party
Debtor
object
The party that owes money and is responsible for repaying the debt.
Creditor
object
The creditor (payee) of the payment instruction.
FinancialInstitutionIdType
string
FinancialInstitutionId
object
Financial Institution Identifier
3 properties 2 required
AdditionalInstitution
object
Additional Institution
4 properties 2 required
AdditionalInstitutions
array
Additional Institutions
DebtorAgent
object
An agent is a financial institution that acts on behalf of the debtor in a financial transaction. The agent facilitates the transaction by processing payments,…
4 properties 1 required
CreditorAgent
object
The Bank or financial institution of the creditor (the party receiving the payment).
4 properties 1 required
UltimateCreditor
object
Represents the ultimate beneficiary of the funds in the payment transaction. This is the final recipient who will receive the funds, even if the payment is cre…
UltimateDebtor
object
Represents the ultimate party responsible for the payment, who is the original source of funds in the transaction, even if the payment is made on their behalf…
InitiatingParty
object
The financial institution or agent that initiates the payment or transaction on behalf of the ordering party.
IntermediaryAgent
object
An agent between the debtor's agent and the creditor's agent. Usage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the age…
3 properties
PreviousInstructingAgent
object
The Previous Instructing Agent represents the financial institution or agent that previously transmitted the payment instruction within the payment chain, befo…
3 properties
AdditionalParties
object
Additional parties involved in the payment transaction.
6 properties
Payment
object
Representation of the payment instruction.
10 properties 8 required
Source
string
Indicates the source of the decision on the payment hold. | Enum Value | Description | |------------|-------------| | API | Decision made via the API | | JPMCU…
DecisionRejectReason
string
Reason for REJECT action. Only populated for action=REJECT and when status=REJECTED. If the reason is "Fraud", additional fraud details should be provided in t…
FraudType
string
Type of fraud | Enum Value | Description | |------------|-------------| | BUSINESSEMAILCOMPROMISE | Fraudulent email schemes targeting business transactions |…
Fraud
object
Fraud details associated with a rejected payment hold. Only present when rejectReason is FRAUD.
2 properties
Decision
object
Details of how the hold was resolved. Present only for holds that have already been decisioned.
3 properties
Distribution
object
Describes distribution details for ACH payment hold. JPM might distribute the payment after a hold is created,but before the hold is decisioned. You should sti…
2 properties
PaymentHold
object
Payment Hold Details including the original payment instructions along with the rules or criteria and pending action for the hold.
11 properties 4 required
Pagination
object
Contains the pagination details
4 properties 3 required
PaymentHolds
object
List of Payment Holds
2 properties 2 required
DecisionAction
string
Action taken on the payment instruction | Enum Value | Description | |------------|-------------| | APPROVE | Approve the payment hold for processing | | REJEC…
DecisionActionRequest
object
Request to take action on a payment hold
3 properties 1 required
HoldDecisionResult
string
Outcome of the action (Success or Failure)
FailureReason
object
Failure reason details with code and message
2 properties
DecisionResponse
object
Response for a decision action on a payment hold
5 properties 2 required
DecisionRequest
object
Request to take action on a payment hold
4 properties 2 required
DecisionBulkRequest
object
Bulk request to take action on multiple payment holds
1 property
DecisionBulkResponse
object
Bulk response for multiple payment hold decisions
1 property
NotificationBase
object
Common CloudEvents envelope properties shared by all payment hold notification events. See [CloudEvents Specification v1.0](https://github.com/cloudevents/spec…
5 properties 5 required
PaymentHoldNotificationData
object
Common properties shared by all payment hold notification event payloads. This is the supertype for PaymentHeldData and PaymentHoldAmendedData.
3 properties 2 required
PaymentHeldData
Data payload for com.jpmorgan.payments.payment.hold.placed.v1 events. A payment has been held for review. The payload contains the complete hold including the…
PaymentHoldAmendedData
Data payload for com.jpmorgan.payments.payment.hold.ammended.v1 events. A payment hold has been updated (decisioned, distributed, reassigned). The payload incl…
PaymentHoldClosedData
Data payload for com.jpmorgan.payments.payment.hold.closed.v1 events. Contains the hold details when the hold is decisioned by the bank or when the decision is…
Notification
Payment hold notification event (CloudEvents v1.0). The type field indicates whether the payload represents a newly held payment, an update to an existing hold…

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

jp-morgan-chase-alerts-and-decisioning-api-openapi.yml Raw ↑

Other APIs JPMorgan Chase publishes across the network.

Digital Onboarding API
Consumer Profile Management API
Tokenization API
Reporting API
Notifications API
Request to Pay via QR Code API
Checkout API
Dispute Management API
Accounts API
Product Configuration API
Recipients API
Webhooks API
Where this information came from

This is an independent, third-party profile of Alerts and Decisioning API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.