Files
ACH
>
Files
openapi: 3.0.3
info:
title: Automated Clearing House (ACH) API - Files
version: v1
description: |
Automated Clearing House (JHPlatform ACH).
contact:
name: Platform Services - ACH
url: https://www.jackhenry.com/
email: DC-Operations@jackhenry.com
servers:
- url: https://{API_ENDPOINT}
variables:
API_ENDPOINT:
default: digital.garden-fi.com
security: []
tags:
- name: Files
description: API operations for ACH file management
paths:
/a/api/jh-ach/v1/{InstitutionUniversalId}/files:
get:
operationId: GetFilesList
tags:
- Files
summary: Retrieve list of ACH files
description: Retrieves a paginated list of ACH files with optional filters.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- name: offset
in: query
required: false
description: |
The value that determines the start index of the returned results within the overall result set.
This endpoint returns an array of batches within an overall data set. Due to the potentially large nature of the overall data set, the offset and limit parameters are necessary to constrain the number of results to a reasonable amount. Typical use of this parameter would be as follows:
* The initial request would send a value of "0", as this is the index of the first result.
* Subsequent requests would add 1 to the total number of results.
example: ?offset=0
schema:
type: string
default: '0'
- name: count
in: query
required: false
description: |
The number of batches to return. Maximum value is 200.
If count exceeds maximum, service will use 200.
example: ?count=10
schema:
type: string
default: '10'
- name: status
in: query
required: false
description: Filter by file status
schema:
type: string
enum:
- unprocessed
- processing
- processed
example: processed
- name: direction
in: query
required: false
description: Filter by transaction direction
schema:
type: string
enum:
- incoming
- outgoing
- name: externalFileId
in: query
required: false
description: Filter by external file ID
schema:
type: string
maxLength: 36
example: external-file-123
- name: startDate
in: query
required: false
description: |
The starting settlement date to retrieve transactions (inclusive).
If From Date is provided and To Date is null, it can be treated as searching for items equal to From Date.
(civil date format YYYY-MM-DD)
schema:
type: string
format: date
example: '2024-01-01'
- name: endDate
in: query
required: false
description: |
The ending settlement date to retrieve transactions (inclusive).
Must be greater than or equal to the start date.
(civil date format YYYY-MM-DD)
schema:
type: string
format: date
example: '2024-01-31'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
paging:
type: object
required:
- nextOffset
- results
properties:
nextOffset:
type: string
description: The next offset is the start position of the read pointer for pagination.
results:
type: integer
description: The number of records included in the response.
total:
type: integer
nullable: true
description: The total number of records the server has available for the request.
additionalProperties: false
files:
type: array
items:
type: object
properties:
fileId:
type: string
format: uuid
description: Unique identifier for the file
example: f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c
nullable: false
fileName:
type: string
description: Name of the file
example: ach_file_20250125.txt
nullable: true
externalFileId:
type: string
description: External identifier for the file
example: external-file-123
nullable: false
institutionId:
type: string
description: Institution identifier
example: inst-123
nullable: false
direction:
type: string
description: Direction of the file (incoming or outgoing)
enum:
- incoming
- outgoing
example: outgoing
nullable: false
status:
type: string
description: Current status of the file
enum:
- unprocessed
- processing
- processed
example: processed
nullable: false
immediateOrigin:
type: string
description: Immediate origin from file header
example: '123456789'
nullable: false
immediateDestination:
type: string
description: Immediate destination from file header
example: '987654321'
nullable: false
immediateOriginName:
type: string
description: Name of the immediate origin
example: Origin Bank
nullable: true
immediateDestinationName:
type: string
description: Name of the immediate destination
example: Destination Bank
nullable: true
fileCreationDate:
type: string
description: Date the file was created (YYMMDD format)
example: '250125'
nullable: false
fileCreationTime:
type: string
description: Time the file was created (HHMM format)
example: '1430'
nullable: false
batchCount:
type: integer
format: int64
description: Number of batches in the file
example: 5
nullable: true
totalEntryCount:
type: integer
format: int64
description: Total number of entries in the file
example: 100
nullable: true
fileSize:
type: integer
format: int64
description: Size of the file in bytes
example: 4096
nullable: true
generationStatus:
type: string
description: Generation status of the file
example: completed
nullable: true
createdAt:
type: string
format: date-time
description: Timestamp when the file was created
example: '2025-01-25T14:30:00Z'
nullable: false
updatedAt:
type: string
format: date-time
description: Timestamp when the file was last updated
example: '2025-01-25T15:00:00Z'
nullable: false
createdBy:
type: string
description: User who created the file
example: user@example.com
nullable: false
description: Array of file objects
nullable: false
'400':
description: The server could not understand the request due to an invalid request.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- details
properties:
type:
description: A string path which uniquely classifies the domain of the error.
type: string
nullable: false
example: jackhenry/operation-failed
title:
description: A end-user readable string title of the error type.
nullable: false
type: string
details:
description: An array of end-user readable strings which provide additional details for the error message.
type: array
nullable: false
items:
type: string
data:
type: object
description: |
Additional data that could be useful to a developer or for handing the error programmatically. The schema for the data in this object is intentionally left undefined.
nullable: true
'401':
description: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
'403':
description: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401, the clients identity is known to the server.
'404':
description: The server can not find the requested resource. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 to hide the existence of a resource from an unauthorized client.
'500':
description: An unexpected internal server error occurred while processing the request.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- details
properties:
type:
description: A string path which uniquely classifies the domain of the error.
type: string
nullable: false
example: jackhenry/operation-failed
title:
description: A end-user readable string title of the error type.
nullable: false
type: string
details:
description: An array of end-user readable strings which provide additional details for the error message.
type: array
nullable: false
items:
type: string
data:
type: object
description: |
Additional data that could be useful to a developer or for handing the error programmatically. The schema for the data in this object is intentionally left undefined.
nullable: true
examples:
internalServerError:
summary: Internal server error
value:
type: general/internal-server-error
title: Internal server error
details:
- Unexpected internal server error
/a/api/jh-ach/v1/{InstitutionUniversalId}/files/{fileId}:
get:
operationId: GetFileById
tags:
- Files
summary: Retrieve ACH file details by ID
description: Retrieves detailed information about a specific ACH file.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- name: fileId
in: path
required: true
description: Unique identifier for the file
schema:
type: string
format: uuid
example: f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
fileId:
type: string
format: uuid
description: Unique identifier for the file
example: f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c
nullable: false
fileName:
type: string
description: Name of the file
example: ach_file_20250125.txt
nullable: true
externalFileId:
type: string
description: External identifier for the file
example: external-file-123
nullable: false
institutionId:
type: string
description: Institution identifier
example: inst-123
nullable: false
direction:
type: string
description: Direction of the file (incoming or outgoing)
enum:
- incoming
- outgoing
example: outgoing
nullable: false
status:
type: string
description: Current status of the file
enum:
- unprocessed
- processing
- processed
example: processed
nullable: false
immediateOrigin:
type: string
description: Immediate origin from file header
example: '123456789'
nullable: false
immediateDestination:
type: string
description: Immediate destination from file header
example: '987654321'
nullable: false
immediateOriginName:
type: string
description: Name of the immediate origin
example: Origin Bank
nullable: true
immediateDestinationName:
type: string
description: Name of the immediate destination
example: Destination Bank
nullable: true
fileCreationDate:
type: string
description: Date the file was created (YYMMDD format)
example: '250125'
nullable: false
fileCreationTime:
type: string
description: Time the file was created (HHMM format)
example: '1430'
nullable: false
batchCount:
type: integer
format: int64
description: Number of batches in the file
example: 5
nullable: true
totalEntryCount:
type: integer
format: int64
description: Total number of entries in the file
example: 100
nullable: true
fileSize:
type: integer
format: int64
description: Size of the file in bytes
example: 4096
nullable: true
generationStatus:
type: string
description: Generation status of the file
example: completed
nullable: true
createdAt:
type: string
format: date-time
description: Timestamp when the file was created
example: '2025-01-25T14:30:00Z'
nullable: false
updatedAt:
type: string
format: date-time
description: Timestamp when the file was last updated
example: '2025-01-25T15:00:00Z'
nullable: false
createdBy:
type: string
description: User who created the file
example: user@example.com
nullable: false
'400':
description: The server could not understand the request due to an invalid request.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- details
properties:
type:
description: A string path which uniquely classifies the domain of the error.
type: string
nullable: false
example: jackhenry/operation-failed
title:
description: A end-user readable string title of the error type.
nullable: false
type: string
details:
description: An array of end-user readable strings which provide additional details for the error message.
type: array
nullable: false
items:
type: string
data:
type: object
description: |
Additional data that could be useful to a developer or for handing the error programmatically. The schema for the data in this object is intentionally left undefined.
nullable: true
'401':
description: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
'403':
description: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401, the clients identity is known to the server.
'404':
description: The server can not find the requested resource. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 to hide the existence of a resource from an unauthorized client.
'500':
description: An unexpected internal server error occurred while processing the request.
content:
application/problem+json:
schema:
type: object
required:
- type
- title
- details
properties:
type:
description: A string path which uniquely classifies the domain of the error.
type: string
nullable: false
example: jackhenry/operation-failed
title:
description: A end-user readable string title of the error type.
nullable: false
type: string
details:
description: An array of end-user readable strings which provide additional details for the error message.
type: array
nullable: false
items:
type: string
data:
type: object
description: |
Additional data that could be useful to a developer or for handing the error programmatically. The schema for the data in this object is intentionally left undefined.
nullable: true
examples:
internalServerError:
summary: Internal server error
value:
type: general/internal-server-error
title: Internal server error
details:
- Unexpected internal server error
Did this page help you?
Why was this page helpful?
Why wasn't this page helpful?
Thank you for your feedback!
Last updated Thu Feb 12 2026