Sleek and accurate search for accounts and transactions
Accounts
What you can do | Endpoint |
---|---|
Search for accounts and get an account ID | get /commercial/accounts/v1/list |
Use the account ID to get account details with optional balance summary | get /commercial/accounts/v1/{accountId} |
Transactions
What you can do | Endpoint |
---|---|
Search prior day transactions | get /commercial/accounts/v1/{accountId}/transactions/previous |
Search current day transactions | get /commercial/accounts/v1/{accountId}/transactions/current |
Search for accounts
get /commercial/accounts/v1/list
Retrieve a list of commercial payment accounts.
A successful response returns an array of accounts for the authorized commercial client. In the account details, an accountId
is returned. This identifier is required to search for current or past day transactions.
Request
HEADER | TYPE | DESCRIPTION |
---|---|---|
Acceptrequired | string | Preferred syntax for content type. This content type should be application/json. |
Accept-Charsetrequired | string | The supported character set for the content. UTF-8 contains the accepted Unicode character list for standard English and Latin characters. |
User-Agentrequired | string | Identifies the web browser and/or cURL command line used in the HTTP request. We collect this data to see which products use our API data services, helpful for troubleshooting and compatibility. |
x-fapi-interaction-idrequired | string | Unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
QUERY | TYPE | DESCRIPTION |
---|---|---|
limit | integer | Restrict the amount of data you receive. The limit can be an integer from 1 to 500. If the limit is not specified, a default limit of 100 will be used. |
Request example

curl --location: "https://partner-api-qv.key.com/commercial/accounts/v1/list?limit=10"
--header "Accept: application/json"
--header "Accept-Charset: UTF-8'
--header "User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36 Edg/136.0.0.0'
--header "x-fapi-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a"
--header "Bearer: testZcKJDWnwDWmmf9qah6PJvPy8"
Responses
Success
NAME | TYPE | DESCRIPTION |
---|---|---|
x-fapi-interaction-id | string | A unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
PaginatedArray | object | PaginatedArray |
accounts | object | AccountWithDetails |
Response example (200)

{ "x-fapi-interaction-id": "c770aef3-6784-41f7-8e0e-ff5f97bddb3a", "page": { "nextPageKey": 10, "totalElements": 100 }, "links":{ "next": "/commercial/accounts/v1/list?limit=10" }, "accounts": [ {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "d05ecc81-24b0-4f32-ab25-96d7859a5bf2", "accountNumberDisplay": "X1234"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "3701b854-53f9-449a-a951-b82c1696800c", "accountNumberDisplay": "X2455"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "05f281da-4288-4cac-8862-ec269df69b53", "accountNumberDisplay": "X1236"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "60bfa386-c119-468a-9e5a-a6fb72997b1a", "accountNumberDisplay": "X0998"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "7334c168-de10-47f1-a410-65a835698ce2", "accountNumberDisplay": "X2154"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "7bc8dc9a-bcf4-4e79-966a-e2b3f55b9c90", "accountNumberDisplay": "X8986"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "cbbc4b1f-3621-456f-a404-aa236e4dc578", "accountNumberDisplay": "X5271"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "e63e5076-c326-4236-ad32-0155b5d25659", "accountNumberDisplay": "X5663"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "e6af9f76-1282-48c0-97c6-11295d036d5b", "accountNumberDisplay": "X3425"}, {"accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "1348b442-9f1c-4485-9629-61c62a4cfd69", "accountNumberDisplay": "X1124"} ] }
Missing mandatory information
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (400)

{ "code": "401" "message": "Invalid input" "debugMessage": "The data provided does not satisfy the API specification. Review required fields and adhere to format and types." }
Unauthorized request
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (401)

{ "code": "603" "message": "Authentication failed" "debugMessage": "Invalid authenticated credentials for the target source. Correct and retry credentials. If problem persists, contact your TAM." }
Forbidden request access
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (403)

{ "code": "403" "message": "Forbidden" "debugMessage": "You are not allowed to access this resource due to insufficient rights or inadequate authorization." }
Resource not found
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (404)

{ "code": "1107" "message": "Data not found for request parameters" "debugMessage": "The query information provided in the path is incorrect or did not return any data based on the criteria." }
Content Type not supported
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (406)

{"code": "1203" "message": "Content Type not supported" "debugMessage": "The content type is not supported. For this API, the supported content type is application/json." }
Get account details and balance summary
get /commercial/accounts/v1/{accountId}
Get full details about the account identified with the accountId
parameter. To include account balance information like opening and closing ledger amounts, be sure to specifed the BalanceAsOfDate
in the request.
Request
HEADER | TYPE | DESCRIPTION |
---|---|---|
Acceptrequired | string | Preferred syntax for content type. This content type should be application/json. |
Accept-Charsetrequired | string | The supported character set for the content. UTF-8 contains the accepted Unicode character list for standard English and Latin characters. |
User-Agentrequired | string | Identifies the web browser and/or cURL command line used in the HTTP request. We collect this data to see which products use our API data services, helpful for troubleshooting and compatibility. |
x-fapi-interaction-idrequired | string | Unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
BalanceAsOfDate | string | A query option to return the balance information from a certain date. The date must be withing 180 days of the current date. If a date is not provided, balance information is not be included in the response. Format: YYYY-MM-DD |
QUERY | TYPE | DESCRIPTION |
---|---|---|
accountId | string | An unique identification number generated from the /commercial/accounts/v1/list endpoint. |
Request example

curl --location: "https://partner-api-qv.key.com/commercial/17e13f78-20c7-4ce6-ad4e-5afff48c8834"
--header "Accept: application/json"
--header "Accept-Charset: UTF-8'
--header "User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36 Edg/136.0.0.0'
--header "x-fapi-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a"
--header "Bearer: testZcKJDWnwDWmmf9qah6PJvPy8"
Responses
Success
NAME | TYPE | DESCRIPTION |
---|---|---|
AccountWithDetails | object | AccountWithDetails |
Response example (200)

{ "CommercialAccount": { "value": { "accountId": "17e13f78-20c7-4ce6-ad4e-5afff48c8834", "accountNumberDisplay": "X2595", "accountCategory": "COMMERCIAL_ACCOUNT", "currentAvailableBalance": 1000.1, "currentLedgerBalance": 3000.2, "openingLedgerBalance": 123.45, "closingLedgerBalance": 25000.99, "openingAvailableBalance": 15000.5, "closingAvailableBalance": 25000.36, "balanceAsOf": "2025-08-21T00:00:00.000Z", "commercialBalances": [ { "commercialCode": { "type": "BAI", "code": "010", "memo": "Opening Ledger Balance" }, "amount": 123.45 }, { "commercialCode": { "type": "BAI", "code": "015", "memo": "Closing Ledger Balance" }, "amount": 25000.99 }, { "commercialCode": { "type": "BAI", "code": "040", "memo": "Opening Available Balance" }, "amount": 15000.5 }, { "commercialCode": { "type": "BAI", "code": "045", "memo": "Closing Available Balance" }, "amount": 25000.36 } ] } } }
Response example (206)

{ "CommercialAccount": { "value": { "accountId": "17e13f78-20c7-4ce6-ad4e-5afff48c8834", "accountNumberDisplay": "X2595", "accountCategory": "COMMERCIAL_ACCOUNT", "currentAvailableBalance": 1000.1, "currentLedgerBalance": 3000.2, "openingLedgerBalance": 123.45, "closingLedgerBalance": 25000.99, "openingAvailableBalance": 15000.5, "closingAvailableBalance": 25000.36, "balanceAsOf": "2025-08-21T00:00:00.000Z", } }
Missing mandatory information
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (400)

{ "code": "401" "message": "Invalid input" "debugMessage": "The data provided does not satisfy the API specification. Review required fields and adhere to format and types." }
Unauthorized request
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (401)

{ "code": "603" "message": "Unauthorized request" "debugMessage": "Invalid authenticated credentials for the target source. Correct and retry credentials. If problem persists, contact your TAM." }
Forbidden request access
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (403)

{ "code": "403" "message": "Forbidden" "debugMessage": "You are not allowed to access this resource due to insufficient rights or inadequate authorization." }
Content Type not supported
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (406)

{"code": "1203" "message": "Content Type not supported" "debugMessage": "The content type is not supported. For this API, the supported content type is application/json." }
Search prior day transactions
get /commercial/accounts/v1/{accountId}/transactions/previous
Search for past transactions by accountId
and date range, startDate
and endDate
. Do not specify a date range to search yesterday's transactions. If you enter a date range, remember the following:
- If you enter a start date, you must also provide an end date.
- You can look up to 180 days in the past (about 6 months).
- The end date cannot be the current date.
- To search for a specific date, the start date and the end date must be the same date. For example, "/commercial/accounts/v1/accountId12345/transactions/previous?startDate=2025-02-15&endDate=2025-02-15".
Request
HEADER | TYPE | DESCRIPTION |
---|---|---|
Acceptrequired | string | Preferred syntax for content type. This content type should be application/json. |
Accept-Charsetrequired | string | The supported character set for the content. UTF-8 contains the accepted Unicode character list for standard English and Latin characters. |
User-Agentrequired | string | Identifies the web browser and/or cURL command line used in the HTTP request. We collect this data to see which products use our API data services, helpful for troubleshooting and compatibility. |
x-fapi-interaction-idrequired | string | Unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
PATH | TYPE | DESCRIPTION |
---|---|---|
accountIdrequired | string | An unique identification number generated from the /commercial/accounts/v1/list endpoint. |
QUERY | TYPE | DESCRIPTION |
---|---|---|
startDate | string | Start date to search a past date range. Leave blank to search prior day transactions. If you enter a date, you must also specify an end date. Start date can not be older than 180 days from today. Format: YYYY-MM-DD |
endDate | string | End date for a date range. Leave blank to search prior day transactions. If you enter a date, you must also specify a start date. The end date cannot be today's date. To search for a single day's transactions, make the end date the same as the start date. Format: YYYY-MM-DD |
limit | integer | Restrict the amount of data you receive. The limit can be an integer from 1 to 500. If the limit is not specified, a default limit of 100 will be used. |
pageKey | integer | A secure and flexible pagination capability uses a unique identifier to navigate or retrieve specific pages. If left blank, the full page range is returned. |
Request example

curl --location: 'https://partner-api-qv.key.com/commercial/accounts/v1/FintechCo-25-7120aez/transactions/previous?startDate=2025-02-15&endDate=2025-02-28&limit=15&pageKey=3'
--header 'Accept: application/json'
--header 'Accept-Charset: UTF-8'
--header 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36 Edg/136.0.0.0'
--header 'x-fapi-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a'
--header 'accountId: userGroup/FintechCo-25-7120aez'
--header 'Bearer: testZcKJDWnwDWmmf9qah6PJvPy8'
Responses
Success -paginated collection of commercial transactions for prior date(s)
NAME | TYPE | DESCRIPTION |
---|---|---|
x-fapi-interaction-id | string | A unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
PaginatedArray | object | PaginatedArray |
transactions | array | CommercialTransaction |
Response example (200)

{ "x-fapi-interaction-id": "c770aef3-6784-41f7-8e0e-ff5f97bddb3a", "page": { "nextPageKey": "2", "totalElements": "2" }, "links":{ "next": "/commercial/accounts/v1/{accountId}/transactions/previous?startDate=2025-02-15&endDate=2025-02-28&limit=15&pageKey=2" }, "transactions": [ { "accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "da0b4bd5-8530-46a7-b12d-9444ee997b78", "transactionId": "25134002392653", "postedTimestamp": "2025-07-15T14:46:41.375Z", "transactionTimestamp": "2025-07-12T09:10:22.185Z", "description": "Payment through FinTechCo for invoice #11223 and #11224", "debitCreditMemo": "DEBIT", "status": "POSTED", "amount": 870.40, "lineItem": [ {"description": "INV #11223", "amount": 350.00, "checknumber": 1572}, {"description": "INV #11224", "amount": 520.40, "checknumber": 1578} ], "fiAttributes": [ { "name": "transactionType", "value": "ACH" } ], "commercialCode": { "type": "BAI", "code": "398" } }, { "accountCategory": "COMMERCIAL_ACCOUNT", "accountId": "da0b4bd5-8530-46a7-b12d-9444ee997b78", "transactionId": "25135011889855", "postedTimestamp": "2025-05-16T00:00:00.000Z", "transactionTimestamp": "2025-05-15T09:10:22.185Z", "description": "New Co / LBR PMTNJWEB82 TXP*B815286317000*130", "debitCreditMemo": "DEBIT", "status": "POSTED", "amount": 1867.69, "lineItem": [], "fiAttributes": [ { "name": "transactionType", "value": "ACH" } ], "commercialCode": { "type": "BAI", "code": "455"} } ] }
Missing mandatory information
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (400)

{ "code": "401" "message": "Invalid input" "debugMessage": "The data provided does not satisfy the API specification. Review required fields and adhere to format and types." }
Unauthorized request
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (401)

{ "code": "603" "message": "Authentication failed" "debugMessage": "Invalid authenticated credentials for the target source. Correct and retry credentials. If problem persists, contact your TAM." }
Forbidden request access
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (403)

{ "code": "403" "message": "Forbidden" "debugMessage": "You are not allowed to access this resource due to insufficient rights or inadequate authorization." }
Resource not found
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (404)

{ "code": "1107" "message": "Data not found for request parameters" "debugMessage": "The query information provided in the path is incorrect or did not return any data based on the criteria." }
Content Type not supported
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (406)

{ "code": "1203" "message": "Content Type not supported" "debugMessage": "The content type is not supported. For this API, the supported content type is application/json." }
Search current day transactions
get /commercial/accounts/v1/{accountId}/transactions/current
Search for current day transaction by accountId
. Use pagination controls to limit or filter the data returned.
Request
HEADER | TYPE | DESCRIPTION |
---|---|---|
Acceptrequired | string | Preferred syntax for content type. This content type should be application/json. |
Accept-Charsetrequired | string | The supported character set for the content. UTF-8 contains the accepted Unicode character list for standard English and Latin characters. |
User-Agentrequired | string | Identifies the web browser and/or cURL command line used in the HTTP request. We collect this data to see which products use our API data services, helpful for troubleshooting and compatibility. |
x-fapi-interaction-idrequired | string | Unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
accountIdrequired | string | An unique identification number generated from the /commercial/accounts/v1/list endpoint. |
limit | integer | Restrict the amount of data you receive. The limit can be an integer from 1 to 500. If the limit is not specified, a default limit of 100 will be used. |
pageKey | integer | A secure and flexible pagination capability uses a unique identifier to navigate or retrieve specific pages. If left blank, the full page range is returned. |
Request example

curl --location: 'https://partner-api-qv.key.com/commercial/accounts/v1/FintechCo-25-7120aez/transactions/current/limit=15&pageKey=3'
--header 'Accept: application/json'
--header 'Accept-Charset: UTF-8'
--header 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36 Edg/136.0.0.0'
--header 'x-fapi-interaction-id: c770aef3-6784-41f7-8e0e-ff5f97bddb3a'
--header 'accountId: FintechCo-25-7120aez'
--header 'Bearer: testZcKJDWnwDWmmf9qah6PJvPy8'
Responses
Success - paginated collection of commercial transactions for current day
NAME | TYPE | DESCRIPTION |
---|---|---|
x-fapi-interaction-id | string | A unique identifier for this interaction. A valid ID must be 36 characters in length. This is used across all API requests and responses. |
PaginatedArray | object | PaginatedArray |
transactions | array | CommercialTransaction |
Response example (200)

{ "x-fapi-interation-id": "c770aef3-6784-41f7-8e0e-ff5f97bddb3a", "page": { "nextPageKey": "2", "totalElements": "100" }, "links":{ "next": "/commercial/accounts/v1/{accountId}/transactions/current?pageKey=2&limit=10" }, "transactions": [ { "transactionId": "25135009408212", "accountCategory": "COMMERCIAL_ACCOUNT", "postedTimestamp": "2025-05-16T00:00:00.000Z", "accountId": "da0b4bd5-8530-46a7-b12d-9444ee997b78", "lineItem": [], "fiAttributes": [ { "name": "transactionType", "value": "ACH" } ], "commercialCode": { "type": "BAI", "code": "455" }, "debitCreditMemo": "DEBIT", "transactionTimestamp": "2025-05-16T00:00:00.000Z", "description": "WA DEPT REVENUE TAX PYMT", "amount": 55.0, "status": "POSTED" }, { "transactionId": "25135009408213", "accountCategory": "COMMERCIAL_ACCOUNT", "postedTimestamp": "2025-05-16T00:00:00.000Z", "accountId": "da0b4bd5-8530-46a7-b12d-9444ee997b78", "lineItem": [], "fiAttributes": [ { "name": "transactionType", "value": "ACH" } ], "commercialCode": { "type": "BAI", "code": "455" }, "debitCreditMemo": "DEBIT", "transactionTimestamp": "2025-05-16T00:00:00.000Z", "description": "WA DEPT REVENUE TAX PYMT", "amount": 55.0, "status": "POSTED" }, ] }
Missing mandatory information
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (400)

{ "code": "401" "message": "Invalid input" "debugMessage": "The data provided does not satisfy the API specification. Review required fields and adhere to format and types." }
Unauthorized request
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (401)

{ "code": "603" "message": "Authentication failed" "debugMessage": "Invalid authenticated credentials for the target source. Correct and retry credentials. If problem persists, contact your TAM." }
Forbidden request access
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (403)

{ "code": "403" "message": "Forbidden" "debugMessage": "You are not allowed to access this resource due to insufficient rights or inadequate authorization." }
Resource not found
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (404)

{ "code": "1107" "message": "Data not found for request parameters" "debugMessage": "The query information provided in the path is incorrect or did not return any data based on the criteria." }
Content Type not supported
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
Response example (406)

{ "code": "1203" "message": "Content Type not supported" "debugMessage": "The content type is not supported. For this API, the supported content type is application/json." }
Schemas
Account
NAME | TYPE | DESCRIPTION |
---|---|---|
Account | object | AccountDescriptor |
Accounts
NAME | TYPE | DESCRIPTION |
---|---|---|
PaginatedArray | object | PaginatedArray |
accounts | array | AccountWithDetails |
AccountCategory
NAME | TYPE | DESCRIPTION |
---|---|---|
AccountCategory | string | The account type for the transaction. Valid values: COMMERCIAL_ACCOUNT |
AccountDescriptor
NAME | TYPE | DESCRIPTION |
---|---|---|
accountCategory | object | AccountCategory |
accountId | string | A long-term persistent identity of the account that is not the account number. This identity must be unique to the owning institution. |
accountNumberDisplay | string | The account display number suitable for the interface provider. The typical format is "X" plus the last four digits of the account number. |
AccountWithDetails
NAME | TYPE | DESCRIPTION |
---|---|---|
accountCategory | object | CommercialAccount |
CommercialAccount
NAME | TYPE | DESCRIPTION |
---|---|---|
CommercialAccount | object | Account |
CommercialCode
NAME | TYPE | DESCRIPTION |
---|---|---|
type | object | TreasuryManagementType |
code | string | The code of the Treasury Management defined field |
CommercialTransaction
NAME | TYPE | DESCRIPTION |
---|---|---|
Transaction | object | Transaction |
commercialCode | object | CommercialCode |
Error
NAME | TYPE | DESCRIPTION |
---|---|---|
code | string | Code indicates the type of error that occurred. |
message | string | Information associated with the code that helps you diagnose the error. |
debugMessage | string | Message used to debug the root cause of the error. |
FiAttribute
NAME | TYPE | DESCRIPTION |
---|---|---|
name | string | Name of attribute |
value | string | Value of attribute |
HateoasLink
NAME | TYPE | DESCRIPTION |
---|---|---|
href | string | URL address to invoke the action on the resource. |
HateoasLinks
NAME | TYPE | DESCRIPTION |
---|---|---|
HateoasLinks | array | HateoasLink |
LineItem
NAME | TYPE | DESCRIPTION |
---|---|---|
description | string | Brief details about the transaction. |
amount | number | The amount of money for this line item. |
checkNumber | integer | The check number for a check payment associated with the line item. |
PageMetadata
NAME | TYPE | DESCRIPTION |
---|---|---|
nextPageKey | string | Displays the next page number. This is an opaque identifier and does not need to be numeric or have any specific pattern. |
previousPageKey | string | Display the previous page number. This is an opaque identifier and does not need to be numeric or have any specific pattern. |
totalElements | integer | Total number of elements |
PageMetadataLinks
NAME | TYPE | DESCRIPTION |
---|---|---|
next | object | HateoasLink |
prev | object | HateoasLink |
PaginatedArray
NAME | TYPE | DESCRIPTION |
---|---|---|
page | object | PageMetadata |
links | object | PageMetadataLinks |
Transaction
NAME | TYPE | DESCRIPTION |
---|---|---|
accountCategory | string | The account type for the transaction. Valid values: COMMERCIAL_ACCOUNT |
accountId | string | The account identifier for the transaction. |
transactionId | string | Long term persistent identity of the transaction (unique to account) |
postedTimestamp | string | The date and time that the transaction was posted to the account. If the transaction is not yet posted, the transactionTimestamp value is returned. Format: YYYY-MM-DDThh:mm:ss.nnn[Z] |
transactionTimestamp | string | The date and time that the transaction was added to the server and backend systems. Format: 'YYYY-MM-DDThh:mm:ss.nnn[Z] |
description | string | The description of the transaction, such as information about a merchant's name or place of business in a manner that is user friendly and accessible to the customer. |
debitCreditMemo | string | The posting type of a transaction. Valid values: DEBIT, CREDIT, MEMO |
status | string | The status of the transaction. Valid values: PENDING, MEMO, POSTED, AUTHORIZATION |
amount | number | The amount of funds in the currency of the account owner. |
lineItem | array | LineItem |
fiAttributes | array | FiAttribute |
TransactionStatus
NAME | TYPE | DESCRIPTION |
---|---|---|
TransactionStatus | string | The status of a transaction. Valid values: AUTHORIZATION, MEMO, PENDING, POSTED |
Transactions
NAME | TYPE | DESCRIPTION |
---|---|---|
PaginatedArray | object | PaginatedArray |
accountCategory | object | CommercialAccount |
TreasuryManagementType
NAME | TYPE | DESCRIPTION |
---|---|---|
TreasuryManagementType | string | Identifies the source of the treasury management account. Valid values: BAI, BTRS, ISO, SWIFT |
Errors
Partial success responses
It is possible to have a success message with a HTTP 200s code that is only a partial success. For example, only a portion of the records are returned from the full set or the record is returning partial data. This can occur in an unlikely event that a dependent system or provider is down or has reduced performance.
HTTP status code | Description |
---|---|
201 | The request has been fulfilled and has created one or more new resources. The 201 message typically includes the links to the resources created. |
204 | The server successfully fulfilled the request and there is no additional content to send in the response. |
206 | The server successfully fulfilled part of the request, but not all the element are returned. The request encounter access or authorization issues with one or more accounts. |
FDX error codes
This API specification is based on FDX standards. A standard HTTP response is returned with a code provided by the FDX system. This code can provide further details for unsuccessful messages. These errors follow a basic format with three parameters: code, message, and debugMessage.
Error code | Error message | Related HTTP status code |
---|---|---|
401 | Invalid Input | 400 |
403 | Forbidden, inadequate authorization | 403 |
409 | Conflict with current state of target resource | 409 |
500 | Internal server error | 500 |
501 | Subsystem unavailable | 501 |
503 | Scheduled Maintenance | 503 |
601 | Customer not found | 404 |
602 | Customer not authorized | 403 |
603 | Authentication failed | 401 |
701 | Account not found | 404 |
702 | Invalid start for end date | 400 |
703 | Invalid date range | 400 |
704 | Account type not support | 422 |
705 | Account is Closed | 409 |
800 | Payee not found | 404 |
801 | Payee cannot be modified or deleted | 400 |
802 | Payment not found | 404 |
803 | Due date too soon | 400 |
804 | Payment rejected | 400 |
805 | Payment cannot be modified or cancelled | 400 |
806 | Recurring payment not found | 404 |
807 | Recurring payment rejected | 400 |
808 | Recurring payment cannot be modified or cancelled | 400 |
901 | Source account not found | 404 |
902 | Source account closed | 404 |
903 | Source account not authorized for transfer | 401 |
904 | Destination account not found | 404 |
905 | Destination account closed | 404 |
906 | Destination account not authorized for transfer | 401 |
907 | Invalid amount | 400 |
908 | Duplicate transfer request | 409 |
909 | Transfer not available due to end of day processing | 503 |
910 | Insufficient funds | 400 |
911 | Transaction limit exceeded | 400 |
950 | Transfer not found | 404 |
1000 | Unable to retrieve key from JWKS endpoint | 500 |
1100 | Update ID not found | 404 |
1101 | Reward program ID not found | 404 |
1102 | Categories not found for the reward program | 404 |
1103 | Image ID not found for Transaction | 404 |
1104 | Statement ID not found for account | 404 |
1106 | FDX version not supported or not implemented | 501 |
1107 | Data not found for request parameters | 404 |
1108 | Statements not found for given Account | 404 |
1200 | Tax form not found | 404 |
1201 | Tax form type not supported | 400 |
1202 | Tax year not supported | 400 |
1203 | Content type not supported | 406 |
1204 | Account ID is required | 400 |
1205 | Tax forms not yet been made available | 409 |
1206 | Method not allowed | 405 |
1207 | Too many requests | 429 |
1300 | Statement is processing | 400 |
Changelog
Release | API version | Change description | Impact |
---|---|---|---|
September 2025 | 1.0.0 |
|
Impact levels
- LOW: This is a minor change or enhancement that does not alter the operations of the API. Upgrading to the latest specifications is preferable but not required.
- MID: The previous API version is valid and operates, but does not contain latest enhancements. You need to update your specifications to get these enhancements.
- HIGH: The previous API version is no longer operable. You must upgrade to the latest specifications to access and use this API product.
YAML file
