Get details about a virtual account
Overview
You can use the J.P. Morgan Wallet™ API to get details about a Virtual Transaction Account (VTA) that you created. You cannot get details about Virtual Summary Accounts (VSAs) or standard virtual accounts that we created when we established your Wallet program.
For an overview of virtual accounts, see Virtual accounts.
Get details about a Virtual Transaction Account
Get details about a specific VTA, such as the VTA ID, virtual account type, and parent VSA ID.
Endpoints
Send an API request to one of the following endpoints to get details about a VTA. For the specification, see the API reference.
| HTTP method | Request | v2.xx | v3.xx |
|---|---|---|---|
GET |
Get details about a VTA | /wallets/{accountIdentification} |
/wallets/{accountIdentification} |
Request
Path parameters
Include the following parameters in the URL.
| Parameter | Required / Optional | Description |
|---|---|---|
accountIdentification |
Required | The VTA ID. |
Header parameters
Include the following parameters in the header.
| Parameter | Required / Optional | Description |
|---|---|---|
programId |
Required | Your Wallet program ID. |
Response
If the request is successful, the API returns a response with the following fields:
referencesmessageIdentificationidentification: ID associated with this request that Wallet generates.
currentVirtualAccountDetailparentVirtualAccountIdentification: The parent VSA ID.virtualAccountIdentification: The VTA ID.virtualAccountType: The type of the virtual account.virtualAccountState: The state that the VTA is in.accountOptionspaymentRoutingNumber: PRN information (null if there is none). For more information, see Payment Routing Numbers (PRNs).paymentRoutingNumber: The PRN assigned to the VTA.status: The status of the PRN.country: The country for the PRN.routingInformationtype: The type of routing identifier.value: The routing identifier.
balanceLimits: For more information, see Balance limits.minimumBalance: The minimum balance of the account.maximumBalance: The maximum balance of the account.
postingRestrictions: Array of posting restrictions on the VTA.restrictionId: ID of the posting restriction.restrictionType: Type of posting restriction.restrictionReason: Reason why the posting restriction was added to the VTA.requestor: Requestor of the posting restriction.
Examples
The following is an example request to get details about a VTA with ID SALES-VTA2:
/v3/jpmwallet/wallets/SALES-VTA2
The following is the response returned by the API after sending the previous request.
{
"references": {
"messageIdentification": {
"identification": "2b939371-d0e8-49c1-a833-a3eb16677379"
}
},
"currentVirtualAccountDetail": {
"virtualAccountIdentification": " SALES-VTA2",
"virtualAccountType": "EVTA",
"parentVirtualAccountIdentification": "NORTH-VSA",
"status": "ACTIVE",
"accountOptions": {
"paymentRoutingNumber": {
"paymentRoutingNumber": "XXXXXXXXXX",
"status": "ACTIVE",
"country": "US",
"routingInformation": [
{
"type": "ABA",
"value": "XXXXXXXXXX"
}
]
},
"balanceLimits": {
"minimumBalance": "-1.00",
"maximumBalance": "10000.00"
}
}
},
}Get the balance of a Virtual Transaction Account
The balances of virtual accounts are provided in notifications for transactions—for more information, see Notifications - Virtual account balance information.
If you need to do a one-off check of a virtual account balance, you can submit an API request to get the balance of a VTA that you created. You cannot get the balance of VSAs.
Endpoints
Send an API request to one of the following endpoints to get the balance of a VTA. For the specification, see the API reference.
| HTTP method | Request | v2.xx | v3.xx |
|---|---|---|---|
GET |
Get the balance of a VTA | /wallets/{accountIdentification}/balance |
Not supported |
Balance types
At the moment when you send the API request, there may be multiple transactions that are still pending and have not yet been booked. There are several different types of balances that you can request which include or exclude these transactions. You can request any of the following balance types:
| Balance type | Stands for | Description |
|---|---|---|
ITAV |
Interim Available | The value date balance (the actual balance that you can spend) minus pending debit (pending clearing). Payout requests to debit a VTA are validated against the ITAV balance. |
ITBD |
Interim Booked | The balance based on booked credit and debit transactions. Subject to change as more transactions are posted. |
XPCD |
Expected | The balance, composed of booked and pending transactions known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted. |
Request
Path parameters
Include the following parameters in the URL.
| Parameter | Required / Optional | Description |
|---|---|---|
accountIdentification |
Required | The VTA ID. |
Query parameters
Include the following in the URL as query parameters.
| Parameter | Required / Optional | Description |
|---|---|---|
balanceType |
Required | The types of balances to return. You can enter one balance type, or multiple balance types as comma-separated values. |
virtualAccountType |
Required | The type of the virtual account. Must be EVTA. |
Header parameters
Include the following parameters in the header.
| Parameter | Required / Optional | Description |
|---|---|---|
programId |
Required | Your Wallet program ID. |
Response
If the request is successful, the API returns a response with the following fields:
referencesmessageIdentificationidentification: Unique ID that you set for tracing requests and responses. Only returned if you provided it in the request.
programId: Your Wallet program ID.accountvirtualAccountIdentification: The VTA ID.typeCode: The type of virtual account.
balancedate: The date that the balance was checked.currencyCode: The currency used in the VTA.balanceTypes: Array of balance types that you requested.typeCode: The type of balance.amount: The balance amount.
Examples
The following is an example request that gets the ITAV, ITBD, and XPCD balances of the VTA with ID SALES-VTA1:
/v2/jpmwallet/wallets/SALES-VTA1/balance?balanceType=ITAV,ITBD,XPCD&virtualAccountType=EVTA
The following is the response to the previous request. In this example response, the $50 difference between ITAV and ITBD is a US ACH payment that is pending and not yet cleared.
{
"programId": "1000000003",
"account": {
"virtualAccountIdentification": "SALES-VTA1",
"typeCode": "EVTA"
},
"balance": {
"date": "2025-03-27",
"currencyCode": "USD",
"balanceTypes": [
{
"typeCode": "ITAV",
"amount": "100.00"
},
{
"typeCode": "ITBD",
"amount": "150.00"
},
{
"typeCode": "XPCD",
"amount": "0.00"
},
]
}
}