# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # J.P. Morgan Business Direct Connect ```yaml openapi: 3.1.0 info: title: J.P. Morgan Business Direct Connect version: 6.2.16 description: Connect to retrieve account details, transactions, payment network information, and statements for eligible USD-denominated US checking, savings, and money market accounts using the Financial Data Exchange (FDX) standard with secure, paginated access and lightweight or detailed responses. contact: name: J.P. Morgan Corporate FDX Support email: JPMorgan_Corporate_FDX_Support@jpmorgan.com servers: - url: https://api.payments.jpmorgan.com/fdx/v6 description: PRODUCTION - OAUTH - url: https://api-mock.payments.jpmorgan.com/fdx/v6 description: MOCK tags: - name: Health description: To health check the status of the server - name: Account Information description: To retrieve the account details - name: Transaction Information description: To retrieve the account transaction details paths: /accounts: get: operationId: searchForAccounts tags: - Account Information summary: Search for accounts description: Return information for all of the customer's consented accounts or just those accounts identified in the `accountIds` request parameter. Use `ResultTypeQuery` parameter value of `lightweight` to retrieve minimal descriptive information and the `accountId` for each account. The `accountId` can then be used in the `getAccount` operation's path `/accounts/{accountId}` to retrieve full details about each account parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountId' - $ref: '#/components/parameters/ResultTypeQuery' - $ref: '#/components/parameters/OffsetQuery' - $ref: '#/components/parameters/LimitQuery' responses: '200': description: |- Array of accounts (DepositAccount, LoanAccount, LineOfCreditAccount, InvestmentAccount, InsuranceAccount, AnnuityAccount, CommercialAccount, or DigitalWallet) headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Accounts' examples: Search for accounts success response: value: page: nextOffset: '2' total: 3 links: next: href: /accounts?offSet=2&limit=10 accounts: - accountCategory: COMMERCIAL_ACCOUNT accountId: '10001' accountType: CHECKING nickname: Operating Account 1 status: OPEN balanceAsOf: '2021-07-15T14:46:41.375Z' currentAvailableBalance: 13300.35 '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-------------------------------------------------------------------------------------| | 401 | Invalid Input, 11001:Input in Request for Client ID {0}. {1} | | 10001 | Bad Request, 10001: Header parameter 'x-fapi-interaction-id' is missing | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: anyOf: - $ref: '#/components/schemas/Error' - $ref: '#/components/schemas/PaymentError' examples: Invalid start or end date: value: code: '702' message: Invalid start or end date debugMessage: Provider custom developer-level error details for troubleshooting Invalid date range: value: code: '703' message: Invalid date range debugMessage: Provider custom developer-level error details for troubleshooting BadRequest: value: title: Bad Request httpStatus: 400 traceId: 123e4567-e89b-12d3-a456-426614174000 requestId: client-req-001 context: - code: '10001' message: Header parameter 'x-fapi-interaction-id' is missing location: HEADER field: x-fapi-interaction-id '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 701 | Account not found, 12001:Account not found for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Data not found for request parameters: value: code: '1107' message: Data not found for request parameters debugMessage: Provider custom developer-level error details for troubleshooting '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /accounts/{accountId}: get: operationId: getAccount tags: - Account Information summary: Retrieve account details description: Retrieve full details about the account identified by `{accountId}` parameter parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountIdPath' responses: '200': description: This can be one of LoanAccount, DepositAccount, LineOfCreditAccount, InvestmentAccount, InsuranceAccount, AnnuityAccount, CommercialAccount, or DigitalWallet headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/AccountWithDetails' '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 401 | Invalid Input, 11001:Input in Request for Client ID {0}. {1} | | 10001 | Bad Request, 10001: Header parameter 'x-fapi-interaction-id' is missing | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/PaymentError' examples: BadRequest: value: title: Bad Request httpStatus: 400 traceId: 123e4567-e89b-12d3-a456-426614174000 requestId: client-req-001 context: - code: '10001' message: Header parameter 'x-fapi-interaction-id' is missing location: HEADER field: x-fapi-interaction-id '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 701 | Account not found, 12001:Account not found for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '701' message: Account not found debugMessage: Provider custom developer-level error details for troubleshooting '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /accounts/{accountId}/transactions: get: tags: - Account Transactions summary: Search for account transactions operationId: searchForAccountTransactions description: 'Search for account transactions. Example: /accounts/{accountId}/transactions?startTime=value1 endTime=value2' parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountIdPath' - $ref: '#/components/parameters/StartTimeQuery' - $ref: '#/components/parameters/EndTimeQuery' - $ref: '#/components/parameters/OffsetQuery' - $ref: '#/components/parameters/LimitQuery' responses: '200': description: |- Paginated collection of transactions, which can be one of DepositTransaction, LoanTransaction, LineOfCreditTransaction, InvestmentTransaction, InsuranceTransaction, CommercialTransaction, or DigitalWalletTransaction headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Transactions' '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 401 | Invalid Input, 11001:Input in Request for Client ID {0}. {1} | | 10001 | Bad Request, 10001: Header parameter 'x-fapi-interaction-id' is missing | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: anyOf: - $ref: '#/components/schemas/Error' - $ref: '#/components/schemas/PaymentError' examples: Invalid start or end date: value: code: '702' message: Invalid start or end date debugMessage: Provider custom developer-level error details for troubleshooting Invalid date range: value: code: '703' message: Invalid date range debugMessage: Provider custom developer-level error details for troubleshooting BadRequest: value: title: Bad Request httpStatus: 400 traceId: 123e4567-e89b-12d3-a456-426614174000 requestId: client-req-001 context: - code: '10001' message: Header parameter 'x-fapi-interaction-id' is missing location: HEADER field: x-fapi-interaction-id '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 701 | Account not found, 12001:Account not found for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '701' message: Account not found debugMessage: Provider custom developer-level error details for troubleshooting Data not found for request parameters: value: code: '1107' message: Data not found for request parameters debugMessage: Provider custom developer-level error details for troubleshooting '415': $ref: '#/components/responses/415' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /accounts/{accountId}/payment-networks: get: operationId: getAccountPaymentNetworks tags: - Money Movement description: Get payment networks supported by the account summary: Get payment networks supported by the account parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountIdPath' - $ref: '#/components/parameters/OffsetQuery' - $ref: '#/components/parameters/LimitQuery' responses: '200': description: Information required to execute a payment transaction against this account headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/AccountPaymentNetworkList' '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-------------------------------------------------------------------------------------------------------------------------------------------| | 401 | Invalid Input, 11001:Input in Request for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-------------------------------------------------------------------------------------- | | 701 | Account not found, 12001:Account not found for Client ID {0} , Account ID {1} | | 701 | ABA Number not found, 12002:ABA Number not found for Account ID {0} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '701' message: Account not found debugMessage: 12001:Account not found for Client ID YODLEE, Account ID b61303ed9a0756e63f1a8 ABA Number not found: value: code: '701' message: ABA Number not found debugMessage: 12002:ABA Number not found for Account ID b61303ed9a0756e63f1a8 '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /accounts/{accountId}/contact: get: tags: - Personal Information summary: Get an account's contact information operationId: getAccountContact description: Get contact information on the account parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountIdPath' responses: '200': description: Details used to verify an account headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/AccountContact' '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-------------------------------------------------------------------------------------------------------------------------------------------| | 401 | Invalid Input, 15001:Input in Request for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: |- Customer not authorized **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |------------------------------------------------------------------------------------------------------------------| | 602 | Customer not authorized, 15003:Authenticated customer does not have the authorization to perform this action | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '602' message: Customer not authorized debugMessage: Account {accountId} is not consented '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 701 | Account not found, 15002:Account not found for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '701' message: Account not found debugMessage: Account {accountId} is not available '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /accounts/{accountId}/statements: get: operationId: searchForAccountStatements tags: - Account Statements description: 'Get account statements. Example: GET /accounts/{accountId}/statements?startTime=value1 endTime=value2' summary: Search for statements parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountIdPath' - $ref: '#/components/parameters/StartTimeQuery' - $ref: '#/components/parameters/EndTimeQuery' - $ref: '#/components/parameters/OffsetQuery' - $ref: '#/components/parameters/LimitQuery' responses: '200': description: Paginated list of available statements. The header `fdx-api-actor-type` supports only the value `BATCH`. headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' fdx-api-actor-type: $ref: '#/components/parameters/FdxApiActorTypeHeader' content: application/json: schema: $ref: '#/components/schemas/Statements' examples: Search for statements success response: value: page: nextOffset: '2' totalElements: 3 links: next: href: https://api.fi.com/fdx/v6/accounts/c5e38f3375cb5f9225ab4dbf05ddcb9ed3faf2d29ebe0d4de47cbd7eb5e9594f/statements?startTime=2020-04-01&endTime=2024-11-30&offset=2&limit=1 action: GET rel: next types: - application/json statements: - accountId: c5e38f3375cb5f9225ab4dbf05ddcb9ed3faf2d29ebe0d4de47cbd7eb5e9594f statementId: '%7BED9BEB13-C98B-337C-9388-DC7B041A7039%7D' statementDate: '2024-01-31' links: - href: https://api.fi.com/fdx/v6/accounts/c5e38f3375cb5f9225ab4dbf05ddcb9ed3faf2d29ebe0d4de47cbd7eb5e9594f/statements/%7BED9BEB13-C98B-337C-9388-DC7B041A7039%7D action: GET rel: self types: - application/pdf status: AVAILABLE '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------------------------------------------------------------------| | 401 | Invalid Input, 11001:Input in Request for Client ID {0}. {1} | | 702 | Invalid start or end date, 16002:Start or end date value is not in the ISO 8601 format for Account {0} startDate {1}, endDate {2} | | 703 | Invalid date range, 16004:End Date cannot be before the Start Date in Request for Account {0} startDate {1}, endDate {2} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid start or end date: value: code: '702' message: Invalid start or end date debugMessage: Provider custom developer-level error details for troubleshooting Invalid date range: value: code: '703' message: Invalid date range debugMessage: Provider custom developer-level error details for troubleshooting '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 701 | Account not found, 12001:Account not found for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '701' message: Account not found debugMessage: Provider custom developer-level error details for troubleshooting '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' /accounts/{accountId}/statements/{statementId}: get: operationId: getAccountStatement tags: - Account Statements description: 'Gets a PDF account statement. Note: This endpoint does not validate statement content.' summary: Get an account statement parameters: - $ref: '#/components/parameters/FapiInteractionIdHeader' - $ref: '#/components/parameters/FdxApiActorTypeHeader' - $ref: '#/components/parameters/AccountIdPath' - $ref: '#/components/parameters/StatementIdPath' responses: '200': description: A pdf image of an account statement. The header `fdx-api-actor-type` supports only the value `BATCH`. headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' fdx-api-actor-type: $ref: '#/components/parameters/FdxApiActorTypeHeader' content: application/pdf: schema: description: A pdf image of an account statement type: string format: binary '400': description: |- Bad Request **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |----------------------------------------------------------------------------------------------------------| | 401 | Invalid Input, 11001:Input in Request for Client ID {0}. {1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid Input: value: code: '401' message: Invalid Input debugMessage: Provider custom developer-level error details for troubleshooting '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': description: |- Not Found **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-----------------------------------------------------------------------------------------------------------------------------------| | 701 | Account not found, 12001:Account not found for Client ID {0}. {1} | | 1104 | Statement id not found for given Account,16008: Statement id not found for Account {0} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Account not found: value: code: '701' message: Account not found debugMessage: Provider custom developer-level error details for troubleshooting Statement id not found for Account: value: code: '1104' message: Statement id not found for Account debugMessage: Provider custom developer-level error details for troubleshooting '500': $ref: '#/components/responses/500' '503': $ref: '#/components/responses/503' components: parameters: FapiInteractionIdHeader: name: x-fapi-interaction-id in: header description: Unique identifier for this interaction as an IETF RFC 4122 UUID. Used across all FDX API requests and responses. This parameter is required. schema: type: string required: true examples: Scenario-1: summary: Sample FAPI Interaction Id value: c770aef3-6784-41f7-8e0e-ff5f97bddb3a FdxApiActorTypeHeader: name: Fdx-Api-Actor-Type in: header description: This parameter is optional. The API only supports BATCH operations. schema: $ref: '#/components/schemas/ActorType' examples: Scenario-1: summary: Sample Actor Type value: BATCH Accept: name: Accept in: header description: Use Header "Accept" to pass the content type. schema: type: string default: application/fdx+json LimitQuery: name: limit in: query description: 'Number of elements consumer wishes to receive per page. This parameter is optional. If limit is less than minimum, then the minimum specified below applies as the limit. If limit is greater than maximum, then the maximum specified below applies as the limit. minimum: 100 or return all records default: 100 maximum: 100 for /transactions, and 500 for /accounts. Transactions are always set to a fixed max page size of 100.' schema: type: integer default: 100 OffsetQuery: name: offset in: query description: 'Page number that can be used to fetch a specific page for paginated results. This parameter is optional. If specified, it returns the requested page. default: 0, returns the first page. OffsetQuery is not supported for /transactions. Use links to retrieve the next page.' schema: type: string default: '0' ResultTypeQuery: name: resultType in: query description: Flag to indicate if you want a lightweight array of metadata (AccountDescriptor or Tax or Operations) or full item details (Account or a Tax subclass or Availability details). If set to 'lightweight', should only return the fields associated with the metadata entity. This field is not required, defaults to lightweight required: false schema: $ref: '#/components/schemas/ResultType' AccountIdPath: name: accountId in: path description: AccountId as returned in the call to /accounts. This parameter is required. required: true schema: type: string examples: Scenario-1: summary: Sample Account Identifier value: c80f58bca45683d52baeda5b90776d40c779e85393d7468fddbb29c3cca517d9 StatementIdPath: name: statementId in: path description: Unique Id for each statement. required: true schema: type: string examples: Scenario-1: summary: Unique Id for each statement. value: '%7BED9BEB13-C98B-337C-9388-DC7B041A7039%7D' EndTimeQuery: name: endTime in: query description: End time for use in retrieval of elements (ISO 8601). This parameter is required and must be greater than or equal to startTime. schema: $ref: '#/components/schemas/DateString' examples: Scenario-1: summary: Sample End Time value: '2024-12-30' StartTimeQuery: name: startTime in: query required: true description: Start time for use in retrieval of elements (ISO 8601). This parameter is required and must be less than or equal to endTime. schema: $ref: '#/components/schemas/DateString' examples: Scenario-1: summary: Sample Start Time value: '2024-12-01' AccountId: name: accountIds in: query description: Comma separated list of account ids. Optional. Default "all eligible accounts are returned" explode: false schema: type: array minItems: 0 items: type: string examples: Scenario-1: summary: Sample AccountId value: - c80f58bca45683d52baeda5b90776d40c779e85393d7468fddbb29c3cca517d9 responses: '401': description: |- Unauthorized **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------| | 603 | Authentication failed, 11007:Authentication failed for Client ID {0}.{1} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Authentication failed: value: code: '401' message: Authentication failed debugMessage: Provider custom developer-level error details for troubleshooting '403': description: |- Method Not Allowed **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-------------------------------------------------------------------------------------| | 14001 | Forbidden, 14001: Method Not Allowed | | 602 | Customer not authorized, 11006:Customer Not Authorized for Client ID {0} | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: anyOf: - $ref: '#/components/schemas/Error' - $ref: '#/components/schemas/PaymentError' examples: Forbidden: value: title: Forbidden httpStatus: 403 traceId: 123e4567-e89b-12d3-a456-426614174000 requestId: client-req-001 context: - code: '14001' message: Method Not Allowed Customer not authorized: value: code: '602' message: Customer not authorized debugMessage: Provider custom developer-level error details for troubleshooting '406': description: Content Type not Supported headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Content Type not Supported: value: code: '1203' message: Content Type not Supported debugMessage: Provider custom developer-level error details for troubleshooting '415': description: |- Invalid Request content type **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |-----------------------------------------------------------------------------------------------------------------------------| | 10907 | Invalid Request content type, 10907: Digital Signature could not be verified. Please re-send the request in a valid format | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/PaymentError' examples: InvalidRequestContentType: value: title: Invalid Request content type httpStatus: 415 traceId: 123e4567-e89b-12d3-a456-426614174000 requestId: client-req-001 context: - code: '10907' message: Digital Signature could not be verified. Please re-send the request in a valid format '422': description: |- Invalid Data **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------------------------------| | 10905 | Invalid Data, 10905: Payload could not be decrypted. Please re-send the request in a valid format | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/PaymentError' examples: InvalidData: value: title: Invalid Data httpStatus: 422 traceId: 123e4567-e89b-12d3-a456-426614174000 requestId: client-req-001 context: - code: '10905' message: Payload could not be decrypted. Please re-send the request in a valid format '500': description: |- Internal Server Error **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------------------------| | 503 | Bad Response,GET / 503 operation response content type 'text/html' does not exist | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/PaymentError' examples: BadResponse: value: title: Bad Response httpStatus: 500 traceId: 123e4567-e89b-12d3-a456-426614174000 context: - message: GET / 503 operation response content type 'text/html' does not exist '501': description: |- Error when FdxVersion in URI is not one of those implemented at backend **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |--------------------------------------------------------------------------- | | 503 | System unavailable, GET / 503 operation response content type 'text/html' does not exist | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/PaymentError' examples: SystemUnavailable: value: title: System Unavailable httpStatus: 503 traceId: 123e4567-e89b-12d3-a456-426614174000 context: - message: GET / 503 operation response content type 'text/html' does not exist '503': description: |- Service Unavailable **List of Error codes and Usage explanations.** | Error Code | Usage | | -------------- |---------------------------------------------------------------------------------------------| | 500 | Internal server error,11002:Internal Server Error for Client ID | | 503 | System unavailable, GET / 503 operation response content type 'text/html' does not exist | headers: x-fapi-interaction-id: $ref: '#/components/parameters/FapiInteractionIdHeader' content: application/json: schema: $ref: '#/components/schemas/PaymentError' examples: SystemUnavailable: value: title: System Unavailable httpStatus: 503 traceId: 123e4567-e89b-12d3-a456-426614174000 context: - message: GET / 503 operation response content type 'text/html' does not exist schemas: CommercialAccount: title: Commercial Account entity description: Information for a commercial account type type: object allOf: - $ref: '#/components/schemas/Account' - type: object properties: balanceAsOf: description: Year, month and the day for which the balance is being reported. $ref: '#/components/schemas/Timestamp' type: string format: date-time example: '2021-07-15T14:46:41.375Z' openingLedgerBalance: type: number description: Opening ledger balance for the date specified in balanceAsOf. example: 81572.35 closingLedgerBalance: type: number description: Closing ledger balance for the date specified in balanceAsOf. example: 80572.35 currentLedgerBalance: type: number description: Current ledger balance example: 80572.35 currentAvailableBalance: type: number description: Current available balance as displayed to the user within Online Banking. example: 80572.35 CommercialCode: title: Commercial Code entity description: The code for a specific treasury management defined field. The [X9 BTRS/BTR3 standard](https://x9.org/standards/btrs/) (formerly named BAI2) for corporate and treasury data elements is proposed to provide the basis of (or starting point for) representing summary, account, and transaction codes for the Corp/Treasury Entity, subject to any necessary modifications useful to the members of the FDX consortium and users of the API specification type: object properties: type: $ref: '#/components/schemas/TreasuryManagementType' description: The source of Treasury Management account definition; one of BAI, BTRS, ISO, SWIFT code: type: string description: The code of the Treasury Management defined field Account: title: Account entity description: An abstract account entity that concrete account entities extend type: object allOf: - $ref: '#/components/schemas/AccountDescriptor' - type: object properties: lineOfBusiness: description: The line of business, such as consumer, consumer joint, small business, corporate, etc. type: string example: CORPORATE balanceType: $ref: '#/components/schemas/BalanceType' description: ASSET (positive transaction amount increases balance), LIABILITY (positive transaction amount decreases balance) example: ASSET transactionsIncluded: type: boolean description: The API requires a separate call to transactions endpoint to retrieve transactions. example: false domicile: $ref: '#/components/schemas/Domicile' description: The country and region of the account's legal jurisdiction example: US AccountDescriptor: title: Account Descriptor entity description: This descriptor provides minimal information about the account for use in lightweight arrays type: object required: - accountCategory discriminator: propertyName: accountCategory properties: accountCategory: $ref: '#/components/schemas/AccountCategory' description: The entity type of this Account accountId: description: Unique account identifier that is different from the account number. example: '123456789' $ref: '#/components/schemas/Identifier' type: string error: description: Present if an error was encountered while retrieving this account $ref: '#/components/schemas/Error' accountType: $ref: '#/components/schemas/AccountType' description: Account type example: CHECKING accountNumberDisplay: description: Masked account number to be used to display to aid end-user identification of the account. type: string example: '9876' productName: description: Marketed product name for this account. Used in UIs to assist in account selection. type: string nickname: description: Name given by the user. Used in UIs to assist in account selection type: string example: STONEMEN EXPERT MASONS LLC status: description: 'Account status. Suggested values are: OPEN, CLOSED, PENDINGOPEN, PENDINGCLOSE, PAID, DELINQUENT, NEGATIVECURRENTBALANCE, RESTRICTED' $ref: '#/components/schemas/AccountStatus' example: OPEN currency: $ref: '#/components/schemas/Currency' description: Account currency example: USD Accounts: title: Accounts entity description: An optionally paginated array of accounts type: object allOf: - $ref: '#/components/schemas/PaginatedArray' - type: object properties: accounts: type: array minItems: 0 description: An array of accounts with entity types dependent on the account type commercial items: $ref: '#/components/schemas/AccountWithDetails' AccountWithDetails: title: Account With Details entity description: An instance of an account with full details type: object discriminator: propertyName: accountCategory mapping: COMMERCIAL_ACCOUNT: '#/components/schemas/CommercialAccount' oneOf: - $ref: '#/components/schemas/CommercialAccount' DocumentStatus: title: Document Status description: Defines the status of a document. Includes JPMC-specific value `TOOLARGE_DO_NOT_DOWNLOAD` to indicate that the document is too large and should not be downloaded. type: string enum: - AVAILABLE - TOOLARGE_DO_NOT_DOWNLOAD Transactions: title: Transactions entity description: Optionally paginated array of transactions type: object allOf: - $ref: '#/components/schemas/PaginatedArray' - type: object properties: transactions: description: An array of transactions with entity type dependent on the account type commercial type: array minItems: 0 items: discriminator: propertyName: accountCategory mapping: COMMERCIAL_ACCOUNT: '#/components/schemas/CommercialTransaction' oneOf: - $ref: '#/components/schemas/CommercialTransaction' Statements: title: An array of statements description: A paginated array of account statements type: object allOf: - $ref: '#/components/schemas/PaginatedArray' - type: object properties: statements: type: array minItems: 0 description: An array of Statement, each with its HATEOAS link to retrieve the account statement items: $ref: '#/components/schemas/Statement' CommercialTransaction: title: Commercial Transaction entity description: A transaction on a commercial account type type: object allOf: - $ref: '#/components/schemas/Transaction' - type: object properties: referenceBankId: type: string description: Reference bank id example: '123665' referenceBranchId: type: string description: Reference branch id example: '123665' commercialCode: $ref: '#/components/schemas/CommercialCode' description: The code for a specific treasury management defined field Transaction: title: Transaction description: Base entity for financial transactions type: object required: - accountCategory discriminator: propertyName: accountCategory properties: accountCategory: $ref: '#/components/schemas/AccountCategory' description: The entity type of the account of this Transaction type: string example: COMMERCIAL_ACCOUNT accountId: description: Unique account identifier that is different from the account number. $ref: '#/components/schemas/Identifier' type: string transactionId: description: Unique bankReferenceIdentifier is sent - may be displayed in Online Banking. May be missing for fees and adjustments. $ref: '#/components/schemas/Identifier' transactionTimestamp: description: The date and time that the transaction was added to the server backend systems $ref: '#/components/schemas/Timestamp' type: string description: type: string description: The description of the transaction example: Commercial Transaction debitCreditMemo: $ref: '#/components/schemas/DebitCreditMemo' description: DEBIT, CREDIT, MEMO reference: type: string description: Identifies Number provided by Customer as a reference to the transaction and will appear on Statement. example: abe656428 status: $ref: '#/components/schemas/TransactionStatus' description: Returns P for POSTED or I for INTRADAY amount: type: number description: The amount of money in the account currency example: 124214 foreignAmount: type: number description: The amount of money in the foreign currency example: 15562 foreignCurrency: $ref: '#/components/schemas/Iso4217CurrencyCode' description: The ISO 4217 code of the foreign currency Statement: title: Statement entity description: An account statement type: object properties: accountId: $ref: '#/components/schemas/Identifier' description: Corresponds to accountId in Account entity statementId: $ref: '#/components/schemas/Identifier' description: Long-term persistent identity of the statement statementDate: $ref: '#/components/schemas/DateString' description: Date of the statement links: $ref: '#/components/schemas/HateoasLinks' description: The links to retrieve this account statement, or to invoke other APIs status: $ref: '#/components/schemas/DocumentStatus' description: Availability status of statement Currency: title: Currency entity description: Represents an international currency type: object properties: currencyRate: type: number description: Currency rate between original and converted currency currencyCode: $ref: '#/components/schemas/Iso4217CurrencyCode' description: ISO 4217 currency code originalCurrencyCode: $ref: '#/components/schemas/Iso4217CurrencyCode' description: Original ISO 4217 currency code Error: title: Error description: An error entity which can be used at the API level for error responses or at the account level to indicate a problem specific to a particular account type: object properties: code: type: string description: Long term persistent identifier which can be used to trace error condition back to log information example: '601' message: type: string description: End user displayable information which might help the customer diagnose an error example: Customer not found debugMessage: type: string description: Message used to debug the root cause of the error. Contents should not be used in consumer's business logic. Can change at any time and should only be used for consumer to communicate with the data provider about an issue. Provider can include an error GUID in message for their use. example: 11005:Invalid Customer - Customer Not Found for Client ID A_JPMC_CB_777_SIT_114355 PaymentError: type: object x-tags: - common-error-model - common-components title: Error description: Common Error Model properties: title: type: string title: Short humanly-readable title of the error. minLength: 1 maxLength: 100 httpStatus: type: integer default: 400 title: HTTP Status Code traceId: type: string title: JPMC Assigned traced identifier requestId: type: string title: The 'client originated' requestId context: type: array title: Provides additional context and detail on the validation errors items: $ref: '#/components/schemas/ErrorContext' minItems: 1 maxItems: 100 required: - title readOnly: true ErrorContext: x-tags: - common-error-model - common-components type: object required: - message properties: code: type: string description: JPMC Short code that identifies the error - publicly cataloged and documented minLength: 5 maxLength: 5 pattern: ^[0-9]+$ message: type: string description: Human readable textual description of the error minLength: 1 maxLength: 99 location: type: string title: The component of the request impacted, can either be 'body', 'query', 'header', or 'path' description: The location of the error occurred in the request. minLength: 1 maxLength: 99 enum: - BODY - PATH - QUERY - HEADER field: type: string description: The field which caused the error. Where the location of the error occurred is BODY, the field would contain the JSON Path expression minLength: 1 maxLength: 99 pattern: ^[\$0-9a-zA-Z-_.()\[\]{}'"\s@=>