openapi: 3.2.0 info: title: J.P. Morgan Business Direct Connect Account Transactions API version: 6.5.1 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.business.direct.connect.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: Account Transactions paths: /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/FdxApiClientPublicKeyHeader' - $ref: '#/components/parameters/FdxApiDataProviderIdHeader' - $ref: '#/components/parameters/FdxApiDataRecipientIdHeader' - $ref: '#/components/parameters/AccountIdPath' - $ref: '#/components/parameters/StartTimeQuery' - $ref: '#/components/parameters/EndTimeQuery' - $ref: '#/components/parameters/OffsetQuery' - $ref: '#/components/parameters/PageKeyQuery' - $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' components: schemas: PageMetadata: title: Page Metadata description: Offset IDs for paginated result sets type: object properties: nextOffset: type: string example: '2' description: Opaque identifier. Does not need to be numeric or have any specific pattern. Implementation specific Offset based pagination is not supported for /transactions. prevOffset: type: string example: '1' description: Opaque identifier. Does not need to be numeric or have any specific pattern. Implementation specific Offset based pagination is not supported for /transactions. totalElements: type: integer example: 3 description: Total number of elements , can be used to validate against total number of elements returned in paginated response(s) 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 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@=>