ACH Filters
ACH
>
ACH Filters
Currently only available for Garden
These API’s are currently only available for the Garden FI. These cannot be used at any live financial institution.
openapi: 3.0.3
info:
title: Automated Clearing House (ACH) API - ACH Filters
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: ACH Filters
description: API operations in Origination ACH Filters Service
paths:
/a/api/jh-ach/v1/{InstitutionUniversalId}/accounts/{AccountId}/filters:
post:
operationId: CreateAchFilter
tags:
- ACH Filters
summary: API to create an ACH filter.
description: Users can create a new ACH filter associated with the account using this API.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- in: path
name: AccountId
required: true
schema:
type: string
format: uuid
description: The ID of the user's account.
requestBody:
required: true
description: Create new ACH filter.
content:
application/json:
schema:
type: object
properties:
companyId:
type: string
maxLength: 10
description: The company ID associated with the ACH filter.
example: '1234567890'
companyName:
type: string
maxLength: 16
description: The company name associated with the ACH filter.
example: Example Company
secCode:
type: string
maxLength: 3
description: The Standard Entry Class (SEC) code for the ACH filter.
enum:
- PPD
- CCD
- CTX
- WEB
- TEL
example: PPD
minAmount:
type: string
format: currency
description: The minimum amount for the ACH filter.
example: '10.00'
maxAmount:
type: string
format: currency
description: The maximum amount for the ACH filter.
example: '1000.00'
routingTransitNumber:
type: string
maxLength: 9
description: The routing transit number associated with the ACH filter.
example: '123456789'
transactionType:
type: string
description: The type of transaction for the ACH filter.
enum:
- Credit
- Debit
example: Debit
allowDisallowFlag:
type: boolean
description: Indicates whether the ACH filter allows or disallows transactions.
example: true
expirationDate:
type: string
format: date
description: The expiration date of the ACH filter.
example: '2024-12-31'
remarks:
type: string
maxLength: 50
description: Additional remarks for the ACH filter.
example: This is a sample remark.
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
required:
- filterId
properties:
filterId:
type: string
description: The ID of the created ACH filter.
'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
get:
operationId: GetAchFilters
tags:
- ACH Filters
summary: API to get ACH filters.
description: Users can retrieve a list of ACH filters associated with the account using this API.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- in: path
name: AccountId
required: true
schema:
type: string
format: uuid
description: The ID of the user's account.
- in: query
name: Offset
schema:
type: integer
format: int32
default: 0
description: 'Number of results to skip before starting to collect the result set <br>Example: `.../resource?Offset=1`'
- in: query
name: Count
schema:
type: integer
format: int32
minimum: 1
maximum: 200
default: 200
description: 'Number of results to return <br>Example: `.../resource?Count=200`'
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
accountId:
type: string
format: uuid
description: The ID of the consumer user's account.
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
accountType:
type: string
description: The type of the user's account.
example: D
isCreditAllowed:
type: boolean
description: Indicates if credits are allowed on the account.
example: true
isDebitAllowed:
type: boolean
description: Indicates if debits are allowed on the account.
example: false
achFilters:
type: array
description: List of ACH filters.
items:
type: object
properties:
companyId:
type: string
maxLength: 10
description: The company ID associated with the ACH filter.
example: '1234567890'
companyName:
type: string
maxLength: 16
description: The company name associated with the ACH filter.
example: Example Company
secCode:
type: string
maxLength: 3
description: The Standard Entry Class (SEC) code for the ACH filter.
enum:
- PPD
- CCD
- CTX
- WEB
- TEL
example: PPD
minAmount:
type: string
format: currency
description: The minimum amount for the ACH filter.
example: '10.00'
maxAmount:
type: string
format: currency
description: The maximum amount for the ACH filter.
example: '1000.00'
routingTransitNumber:
type: string
maxLength: 9
description: The routing transit number associated with the ACH filter.
example: '123456789'
transactionType:
type: string
description: The type of transaction for the ACH filter.
enum:
- Credit
- Debit
example: Debit
allowDisallowFlag:
type: boolean
description: Indicates whether the ACH filter allows or disallows transactions.
example: true
expirationDate:
type: string
format: date
description: The expiration date of the ACH filter.
example: '2024-12-31'
filterId:
type: string
description: The ID of the created ACH filter.
'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}/accounts/{AccountId}/filters/{FilterId}:
put:
operationId: UpdateAchFilter
tags:
- ACH Filters
summary: API to update an ACH filter.
description: Users can update an existing ACH filter associated with the account using this API.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- in: path
name: AccountId
required: true
schema:
type: string
format: uuid
description: The ID of the user's account.
- in: path
name: FilterId
required: true
schema:
type: string
format: uuid
description: The ID of the ACH filter to be updated.
requestBody:
required: true
description: Update ACH filter.
content:
application/json:
schema:
type: object
properties:
companyId:
type: string
maxLength: 10
description: The company ID associated with the ACH filter.
example: '1234567890'
companyName:
type: string
maxLength: 16
description: The company name associated with the ACH filter.
example: Example Company
secCode:
type: string
maxLength: 3
description: The Standard Entry Class (SEC) code for the ACH filter.
enum:
- PPD
- CCD
- CTX
- WEB
- TEL
example: PPD
minAmount:
type: string
format: currency
description: The minimum amount for the ACH filter.
example: '10.00'
maxAmount:
type: string
format: currency
description: The maximum amount for the ACH filter.
example: '1000.00'
routingTransitNumber:
type: string
maxLength: 9
description: The routing transit number associated with the ACH filter.
example: '123456789'
transactionType:
type: string
description: The type of transaction for the ACH filter.
enum:
- Credit
- Debit
example: Debit
allowDisallowFlag:
type: boolean
description: Indicates whether the ACH filter allows or disallows transactions.
example: true
expirationDate:
type: string
format: date
description: The expiration date of the ACH filter.
example: '2024-12-31'
remarks:
type: string
maxLength: 50
description: Additional remarks for the ACH filter.
example: This is a sample remark.
responses:
'204':
description: No Content
'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
delete:
operationId: DeleteAchFilter
tags:
- ACH Filters
summary: API to delete an ACH filter.
description: Users can delete an existing ACH filter associated with the account using this API.
parameters:
- name: InstitutionUniversalId
in: path
description: A unique identifier to establish the identity of an Institution/Environment/Brand combination
required: true
schema:
type: string
- in: path
name: AccountId
required: true
schema:
type: string
format: uuid
description: The ID of the user's account.
- in: path
name: FilterId
required: true
schema:
type: string
format: uuid
description: The ID of the ACH filter to be deleted.
responses:
'204':
description: No Content
'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 Wed Feb 11 2026