Skip to main content

Transaction Details

Use this API to retrieve details on all of the inflows and outflows of funds in your accounts.

Overview

The Transaction Details API allows customers to retrieve details on all of the inflows and outflows of funds in their accounts. Using the Transaction Details API, you can view the details of any transaction. The Transactions Details API enables users to query via multiple accounts at a time and/or with a specified date range to retrieve a list of all debits and credits to those accounts. For best performance, we recommend calling the API one account at a time or group accounts to 10 or less for each API request.

While the Transaction Detail V2 API provides a list of transactions with their details as a synchronous response, the Transaction Details V3 API provides a list of transactions with their details in a paginated (refer to section on Pagination), synchronous response. The Transaction Details V3 API provides up to 1000 records per page. Please note that V3 is not available for accounts in India branches.  

The Transaction Details API is also capable of providing transactions for the current business day. This will be a full set of data each time the request is made and is not an incremental data set. Additionally, review the Request filters section for a full list of query parameters to form specific requests.

Use cases

  • Reporting
  • Cash flow forecasting
  • Transaction-based event triggers
  • Sweep accounts
  • Customized reporting

Supported transaction types

  • ACH
  • Wires

Getting transaction details

To quickly get started using the J.P. Morgan Transaction Details, follow the steps below.

Note

View the API specification to learn more about request endpoints and parameter details.

Accounts

In order to complete the steps below yourself, you will need bank accounts configured for API access with J.P. Morgan. Check with your implementation manager to confirm that the configuration has been properly completed. Discuss with your implementation manager the recommended number of times (typically 3-4 times in a day) the API call should be configured  for supporting your use case and business flow.

Steps

  1. Send API request
  2. Receive synchronous response
  3. Send customized API request
  4. Receive synchronous response

Beware of payload limit

Optimize your number of API calling times or frequencies to make the best use of technology and bandwidth. Your requirements can be fine-tuned during the implementation stage. 

Pagination

Pagination enables request responses to be returned synchronously with the first page and detail about the payload. 

Steps

  1. Send normal filtered request, such as a date range request.
  2. Receive paginated response. 
  3. Retrieve following pages with header query param pageNumber.

Pagination detail in response

Pagination code block legend:

  • pageSize - the number of transactions in a page
  • totalPages - the number of pages included in the query result 
  • pageNumber - the specific page number in the given response
  • totalRecords - the total number of transactions in the query result
Pagination detail in response
Plaintext
{

 

"pagination": {

 

    "pageSize": 1000,

 

    "totalPages": 3,

 

    "pageNumber": 1,

 

    "totalRecords": 2146

 

  },

 

}

Request filters

The Transactions Details API allows you to retrieve details on all of the inflows and outflows of funds in your accounts. You may specify other parameters to make a custom request.

Note

When using request filters, be sure to camel-case capitalize the query parameter names exactly as listed in this table. If the camel case or spelling is incorrect, the filters are ignored, and the Default Query will be returned.

Filter parameters:

Filter

Query parameter

Example

Notes

Account ID

accountIds

012345678901234,012345678901234,012345678901234

Specifying a single accountid or a list of accountids will query using a "current day" relative date type. Alternatively, use accountIds in combination with a relative date type value (displayed below) to retrieve the specified accounts for the given time period.

Relative Date Type

relativeDateType

  • PRIOR_DAY
  • CURRENT_DAY
Note, if transaction details for the "current day" option are requested on a weekend or bank holiday, the previous business day's transactions are returned.

Date Range

  • startDate
  • endDate
  • startDate=2022-06-26
  • endDate=2022-07-01

Start date - End date range limit: The range is limited to five days.

Note
  • Relative date types are based on each branch's time zone.
  • The end time for an official day is not 12:00 a.m., it is when the DDA (Demand Deposit Account) posts, which is typically at 2-3 a.m. the next day.  For this reason, specification of  CURRENT_DAY means the current day everywhere, and a new "current day" is when that branch completes it's daily batch DDA run.

Reporting

Access reporting vs. API reporting

U.S. ACH Payment (BAI Code: 466)

Field

(in Balance and Transaction report-Access cash reporting)

Field

(in Transaction Details API)

Amount Amount
Entry Description

Narrative text

ORIG CO NAME
ORIG ID
ENTRY DATE

In the following tables, the "Report field" header refers to Access cash reporting and the Balance/transaction report, while the "API field" refers to the Transaction Details API request.

U.S. ACH Payment settlement-level offset (BAI Code: 466):
Report field API Field

Amount

Amount

Entry Description

Narrative Text

ORIG CO NAME

ORIG ID

ENTRY DATE

U.S. ACH Payment item-level offset (BAI Code: 466):
Report field API field

Amount

Amount

Customer Ref.

customerReferenceSearchable

ORIG CO NAME

Narrative Text

ORIG ID

ENTRY DESCR

U.S. ACH Payment batch-level offset via PaySource (BAI Code: 455):
Report field API field

Amount

Amount

Customer Ref.

customerReferenceSearchable

ENTRY DESCR

Narrative Text

ORIG CO NAME

ORIG ID

ENTRY DATE

U.S. ACH Collection settlement-level offset (BAI Code: 166):
Report field API field

Amount

Amount

ORIG CO NAME

Narrative Text

ORIG ID

ENTRY DESCR

U.S. ACH Collection item-level offset (BAI Code: 166):
Report field API field

Amount

Amount

Customer Ref.

CustomerReferenceSearchable

ORIG CO NAME

Narrative Text

ORIG ID

ENTRY DESCR

Check Issue File (BAI Code: 475):
Report field API field

Amount

Amount

Check Number

Narrative Text

BOOK Transfer (BAI Code: 495):
Report field API field

Amount

Amount

Customer Ref.

customerReferenceSearchable

REMARK

Narrative Text

PAID TO

PAID TO

Wire Transfer NA (BAI Code: 495):
Report field API field

Payment Amount

Amount

Internal Reference

CustomerReferenceSearchable

Payment Details

Narrative Text

Beneficiary Account

Beneficiary Name

Beneficiary Bank

Beneficiary Bank ID

FX Wire Transfer NA (BAI Code: 514):
Report field API field

Amount

Amount

Customer Ref.

CustomerReferenceSearchable

REMARK

Narrative Text

ULTI BENE

ULTI BENE

ACCT PARTY

ACCT PARTY

FXEXCH

CHIP Transfer NA (BAI Code: 495):
Report field API field

Amount

Amount

Customer Ref.

CustomerReferenceSearchable

REMARK

Narrative Text

ACCT PARTY

ACCT PARTY

PAID TO

Wire Transfer EMEA (BAI Code: 495):
Report field API field

Amount

Amount

Customer Ref.

CustomerReferenceSearchable

REMARK

Narrative Text

BENEFICIARY

BENEFICIARY

PAID TO

FX Wire Transfer EMEA (BAI Code: 495):
Report field API field

Amount

Amount

Customer Ref.

CustomerReferenceSearchable

REMARK

Narrative Text

BENEFICIARY

BENEFICIARY

PAID TO

PAID TO

EXCH RATE

Example of Narrative Text (in the API):

Narrative Text example:
Plaintext
{

                “ORIG CO NAME": (string, optional),

                "ORIG ID": (string, optional),

                "DESC DATE   ": (string, optional),

                "ENTRY DESCR ": (string, optional),

                "ENTRY CLASS ": (string, optional),

                "TRACE NO    ": (string, optional),

                "ENTRY DATE  ": (string, optional",

                "IND ID NO   ": (string, optional),

                "IND NAME    ": (string, optional),

                "COMPANY DATA": (string, optional),

                "REMARK      ": "(string, optional),

                "ORIG BANK   ": "JPMorgan Chase Bank, N.A. (NY)"

}

File-based vs. API reporting

U.S. ACH Payment (BAI Code: 466):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field
Amount   16 Record tag 61 Amount
ENTRY DESCR   88,ENTRYDESCR= 86:ENTRYDESCR= Narrative Text
ORIG CO NAME   88:ORIG CO NAME= 86:ORIG CO NAME=
ORIG ID   88, ORIG ID 86: ORIG ID
ENTRY DATE ENTRY DATE= 88, ENTRY DATE= 86: ENTRY DATE=
U.S. ACH Payment settlement-level offset (BAI Code: 466):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

16 Record

Tag 61

Amount

ENTRY DESC

88,ENTRYDESCR=

86:ENTRY DESCR=

Narrative Text

ORIG CO NAME

88:ORIG CO NAME=

86:ORIG CO NAME=

ORID ID

88,ORIG ID

86:ORIG ID

ENTRY DATE

ENTRY DATE=

88,ENTRY DATE=

86:ENTRY DATE=

U.S. ACH Payment item-level offset (BAI Code: 466):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

16 record

Tag 61

Amount

Customer Ref.

16 record

Tag 61

customerReferenceSearchable

ORIG CO NAME

88,ORIG CO NAME=

86:ORIG CO NAME=

Narrative Text

ORIG ID

88,ORIG ID=

86:ORIG ID=

ENTRY DESCR

88,ENTRY DESCR=

86:ENTRY DESCR=

U.S. ACH Payment batch-level offset via PaySource (BAI Code: 455):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

16 record

Tag 61

Amount

Customer Ref.

16 record

Tag 61

customerReferenceSearchable

ENTRY DESCR

88,ENTRY DESCR=

86:ENTRY DESCR=

Narrative Text

ORIG CO NAME

88,ORIG CO NAME=

86:ORIG CO NAME=

ORIG ID

88,ORIG ID=

86:ORIG ID=

ENTRY DATE

ENTRY DATE=

88,ENTRY DATE=

86:ENTRY DATE=

U.S. ACH Collection settlement-level offset (BAI Code: 166):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

16 record

Tag 61

Amount

ORIG CO NAME

88,ORIG CO NAME=

86:ORIG CO NAME=

Narrative Text

ORIG ID

88,ORIG ID=

86:ORIG ID=

ENTRY DESCR

88,ENTRY DESCR=

86:ENTRY DESCR=

U.S. ACH Collection item-level offset (BAI Code: 166):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

16 record

Tag 61

Amount

Customer Ref.

16 record

Tag 61

customerReferenceSearchable

ORIG CO NAME

88,ORIG CO NAME=

86:ORIG CO NAME=

Narrative Text

ORIG ID

88,ORIG ID=

86:ORIG ID=

ENTRY DESCR

88,ENTRY DESCR=

86:ENTRY DESCR=

Check Issue File (BAI Code: 475):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

16 record

Amount

Check Number

Narrative Text

BOOK Transfer (BAI Code: 495):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

03 record

Tag 61

Amount

Customer Ref.

16 record

Tag 61

customerReferenceSearchable

REMARK

88,REMARK=

86:REMARK=

Narrative Text

PAID TO

88,PAID TO=

86:PAID TO=

PAID TO

88,PAID TO

86:PAID TO

Wire Transfer NA (BAI Code: 495):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

03 record

Tag 61

Amount

YOUR REF

16 and 88 record

Tag 61 and 86

CustomerReferenceSearchable

REMARK

88,REMARK=

86:REMARK=

Narrative Text

ACCT PARTY

88:ACCT PARTY=

86:ACCT PARTY=

ACCT PARTY

88,ACCT PARTY=

86:ACCT PARTY=

PAID TO

88,PAID TO=

86:PAID TO=

FED ID

88,FED ID=

86:FED ID=

B/O CUSTOMER

B/O CUSTOMER=

88,B/O CUSTOMER=

86:B/O CUSTOMER=

FX Wire Transfer NA (BAI Code: 514)
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

03 record

Tag 61

Amount

Customer Ref.

16 and 88 record

Tag 61 and 86

CustomerReferenceSearchable

REMARK

REMARK=

88,REMARK=

86:REMARK=

Narrative Text

ULTI BENE

88,ULTI BENE=

86:ULTI BENE=

ULTI BENE

86:ULTI BENE=

86:ULTI BENE=

ACCT PARTY

88,ACCT PARTY=

86:ACCT PARTY=

ACCT PARTY

88,ACCT PARTY=

86:ACCT PARTY=

FXEXCH

88,FXEXCH=

86:FXEXCH=

CHIP Transfer NA (BAI Code: 495):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

03 record

Tag 61

Amount

Customer Ref.

16 and 88 record

Tag 61 and 86

CustomerReferenceSearchable

REMARK

REMARK=

88,REMARK=

86:REMARK=

Narrative Text

ACCT PARTY

88,ACCT PARTY=

86:ACCT PARTY=

ACCT PARTY

88,ACCT PARTY=

86:ACCT PARTY=

PAID TO

PAID TO=

88,PAID TO=

86:PAID TO

Amount

03 record

Tag 61

Wire Transfer EMEA (BAI Code: 495):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

03 record

Tag 61

Amount

Customer Ref.

16 and 88 record

Tag 61 and 86

CustomerReferenceSearchable

REMARK

88,REMARK=

86:REMARK=

Narrative Text

BENEFICIARY

88,BENEFICIARY=

86:BENEFICIARY=

BENEFICIARY

88,BENEFICIARY=

86:BENEFICIARY=

PAID TO

88,PAID TO=

86:PAID TO=

FX Wire Transfer EMEA (BAI Code: 495):
Report field

ISO 20022

camt.052/camt.053/camt.054

BAI2

SWIFT

MT940/942

API field

Amount

03 record

Tag 61

Amount

Customer Ref.

16 and 88 record

Tag 61 and 86

CustomerReferenceSearchable

REMARK

REMARK=

88,REMARK=

86:REMARK=

Narrative Text

BENEFICIARY

88,BENEFICIARY=

86:BENEFICIARY=

BENEFICIARY

88,BENEFICIARY=

86:BENEFICIARY=

PAID TO

88,PAID TO=

86:PAID TO

PAID TO

88,PAID TO=

86:PAID TO=

EXCH RATE

88,EXCH RATE

86:EXCH RATE

Example of Narrative Text (in the API):

Narrative Text example:
Plaintext
{

                “ORIG CO NAME": (string, optional),

                "ORIG ID": (string, optional),

                "DESC DATE   ": (string, optional),

                "ENTRY DESCR ": (string, optional),

                "ENTRY CLASS ": (string, optional),

                "TRACE NO    ": (string, optional),

                "ENTRY DATE  ": (string, optional",

                "IND ID NO   ": (string, optional),

                "IND NAME    ": (string, optional),

                "COMPANY DATA": (string, optional),

                "REMARK      ": "(string, optional),

                "ORIG BANK   ": "JPMorgan Chase Bank, N.A. (NY)"

}

Payment initiation to API reporting

In the tables below, "Report field" refers to Access payments report and "API field" refers to the Transaction Details API.

U.S. ACH Payment (BAI Code: 466):
Report field NACHA

ISO 20022

Pain.001.001.03

API field
Total Batch Control - Position 21-32   Amount
Batch Description Batch Header - Position 54-63 Narrative Text
Company Name Batch Header - Position 5-20
Company ID Batch Header - Position 41-50  
U.S. ACH Payment Settlement Level Offset (BAI Code: 466):
Report field NACHA

ISO 20022

Pain.001.001.03

API field

Total

Batch Control - Position 21-32

Amount

Batch Description

Batch Header - Position 54-63

Narrative Text

Company Name

Batch Header - Position 5-20

Company ID

Batch Header - Position 41-50

U.S. ACH Payment item-level offset (BAI Code: 466):
Report field NACHA

ISO 20022

Pain.001.001.03

API field

Payment Amount

Entry Detail - Position 30-39

Amount

Beneficiary ID

Entry Detail - Position 40-54

customerReferenceSearchable

Company Name

Batch Header - Position 5-20

Narrative Text

Company ID

Batch Header - Position 41-50

Batch Description

Batch Header - Position 54-63

U.S. ACH Payment batch-level offset via PaySource (BAI Code: 455):
Report field NACHA

ISO 20022

Pain.001.001.03

API field

Total

Batch Control - Position 21-32

Amount

Batch Number

Batch Header – Position 88-94

customerReferenceSearchable

Batch Description

Batch Header - Position 54-63

Narrative Text

Company Name

Batch Header - Position 5-20

Company ID

Batch Header - Position 41-50

U.S. ACH Collection settlement-level offset (BAI Code: 166):
Report field NACHA

ISO 20022

Pain.001.001.03

API field

Total

Batch Control - Position 33-44

Amount

Company Name

Batch Header - Position 5-20

Narrative Text

Company ID

Batch Header - Position 41-50

Batch Description

Batch Header - Position 54-63

U.S. ACH Collection item-level offset (BAI Code: 166):
Report field NACHA

ISO 20022

Pain.001.001.03

API field

Payment Amount

Entry Detail - Position 30-39

Amount

Beneficiary ID

Entry Detail - Position 40-54

customerReferenceSearchable

Company Name

Batch Header - Position 5-20

Narrative Text

Company ID

Batch Header - Position 41-50

Batch Description

Batch Header - Position 54-63

Check Issue File (BAI Code: 475):

Report field

ARP Check Issue

Check Outsourcing (CKO)

ISO 20022

Pain.001.001.03

API response

Payment Amount

35 - 49

COLS 38-50

Payment Amount

Check Number

1

COLS 51-60

Check Number

BOOK Transfer (BAI Code: 495):

Report field

GFF 1

ISO 20022

Pain.001.001.03

API field

Payment Amount

PM Record - Position 19 - 33

Amount

Internal Reference

PM Record - Position 3 - 18

customerReferenceSearchable

Payment Details

P2 Record - Position 3 - 37

Narrative Text

Beneficiary Account

PM Record - Position 152 - 186

Wire Transfer NA (BAI Code: 495):

Report field

GFF 1

ISO 20022

Pain.001.001.03

API field

Payment Amount

PM Record - Position 19 - 33

Amount

Internal Reference

PM Record - Position 3 - 18

CustomerReferenceSearchable

Payment Details

P2 Record - Position 3 - 37

Narrative Text

Beneficiary Account

PM Record - Position 152 - 186

Beneficiary Name

PM Record - Position 82 - 116

By Order Name

A5 Record – Position 3-037

FX Wire Transfer NA (BAI Code: 514):

Report field

GFF 1

ISO 20022

Pain.001.001.03

API field

Payment Amount

PM Record - Position 19 - 33

Amount

Internal Reference

PM Record - Position 3 - 18

CustomerReferenceSearchable

Payment Details

P2 Record - Position 3 - 37

Narrative Text

Beneficiary Account

PM Record - Position 152 - 186

Beneficiary Name

PM Record - Position 82 - 116

CHIP Transfer NA (BAI Code: 495):

Report field

GFF 1

ISO 20022

Pain.001.001.03

API field

Payment Amount

PM Record - Position 19 - 33

Amount

Internal Reference

PM Record - Position 3 - 18

CustomerReferenceSearchable

Payment Details

P2 Record - Position 3 - 37

Narrative Text

Wire Transfer EMEA (BAI Code: 495):

Report field

GFF 1

ISO 20022

Pain.001.001.03

API field

Payment Amount

PM Record - Position 19 - 33

<

Amount

Internal Reference

PM Record - Position 3 - 18

CustomerReferenceSearchable

Transaction Details

P2 Record - Position 3 - 37

Narrative Text

Beneficiary Account

PM Record - Position 152 - 186

Beneficiary Name

PM Record - Position 82 - 116

FX Wire Transfer EMEA (BAI Code: 495):

Report field

GFF 1

ISO 20022

Pain.001.001.03

API field

Transaction Amount

PM Record - Position 19 - 33

Amount

Internal Reference

PM Record - Position 3 - 18

CustomerRefernceSearchable

Transaction  Details

P2 Record - Position 3 - 37

Narrative Text

Beneficiary Account

PM Record - Position 152 - 186

Beneficiary Name

PM Record - Position 82 - 116

Next Steps

Complete the onboarding process to ensure you have everything you need.

Learn how J.P. Morgan protects your transactions.