ACH Exceptions
ACH
>
ACH Exceptions
openapi: 3.0.3
info:
title: Automated Clearing House (ACH) API - ACH Exceptions
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 Exceptions
description: API operations in Origination ACH Exceptions Service
paths:
/a/api/jh-ach/v1/{InstitutionUniversalId}/accounts/{AccountId}/positive-pay/ach-exceptions:
get:
tags:
- ACH Exceptions
operationId: GetAchExceptions
description: |
Retrieves the account-level ACH exceptions for the user on the account.
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: 1000
default: 200
description: 'Number of results to return <br>Example: `.../resource?Count=200`'
- in: query
name: checkNumberStart
schema:
type: string
description: Filter by check number range start.
- in: query
name: checkNumberEnd
schema:
type: string
description: Filter by check number range end.
- in: query
name: startDate
schema:
type: string
format: date
description: Filter by start date (ISO 8601 format).
- in: query
name: endDate
schema:
type: string
format: date
description: Filter by end date (ISO 8601 format).
- in: query
name: lowAmount
schema:
type: string
description: Filter by minimum transaction amount.
- in: query
name: highAmount
schema:
type: string
description: Filter by maximum transaction amount.
- in: query
name: unresolvedOnly
schema:
type: boolean
description: When true, only return unresolved exceptions.
- in: query
name: exceptionReasonCode
schema:
type: string
description: Filter by exception reason code.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
accountId:
type: string
description: The account identifier.
accountType:
type: string
description: The account type.
exceptions:
type: array
description: List of exception items.
items:
type: object
properties:
exceptionItemId:
type: string
nullable: true
description: Unique identifier for the exception item.
nsfItemId:
type: string
nullable: true
description: NSF item identifier, if applicable.
postDate:
type: string
nullable: true
description: Post date of the exception item.
effectDate:
type: string
nullable: true
description: Effective date of the exception item.
checkNumber:
type: string
nullable: true
description: Check number associated with the exception.
amount:
type: string
nullable: true
description: Transaction amount.
isResolved:
type: boolean
description: Whether this exception has been resolved.
transactionCode:
type: string
nullable: true
description: Transaction code.
transactionCodeDescription:
type: string
nullable: true
description: Description of the transaction code.
dispositionCode:
type: string
nullable: true
description: Disposition code for the exception.
dispositionDescription:
type: string
nullable: true
description: Description of the disposition.
actionCode:
type: string
nullable: true
description: Action code applied to the exception.
actionDescription:
type: string
nullable: true
description: Description of the action.
achCompanyName:
type: string
nullable: true
description: ACH company name from the transaction.
achCompanyId:
type: string
nullable: true
description: ACH company identifier.
achStandardEntryClass:
type: string
nullable: true
description: ACH Standard Entry Class code.
exceptionReasons:
type: array
description: List of exception reason codes and descriptions.
items:
type: object
properties:
code:
type: string
description: Exception reason code.
description:
type: string
description: Exception reason description.
eftDescriptions:
type: array
description: EFT description strings.
items:
type: string
paging:
type: object
properties:
total:
type: integer
description: Total number of exception items matching the query.
results:
type: integer
description: Number of results included in this response.
nextOffset:
type: string
nullable: true
description: The next offset for pagination. Null when no more results.
'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
post:
tags:
- ACH Exceptions
operationId: WorkAchExceptions
description: |
Approve or deny the account-level ACH exceptions for the user on the account.
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:
content:
application/json:
schema:
type: object
required:
- achExceptions
properties:
achExceptions:
type: array
description: List of ACH exceptions to be updated.
items:
type: object
required:
- sequenceNumber
- branchNumber
- decision
properties:
sequenceNumber:
type: string
description: Host defined identifier.
minLength: 5
maxLength: 5
nullable: false
example: '01550'
branchNumber:
type: string
description: Host defined identifier.
minLength: 3
maxLength: 3
nullable: false
example: '001'
decision:
type: string
description: Identifies if the ACH exception will be paid or returned to the originator.
enum:
- pay
- return
nullable: false
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- accountId
- workedAchExceptions
properties:
accountId:
type: string
description: Account Id
workedAchExceptions:
type: array
description: List of ACH exceptions that have been updated.
items:
type: object
required:
- decision
- sequenceNumber
- branchNumber
- isSuccessful
properties:
decision:
type: string
description: Identifies if the ACH exception will be paid or returned to the originator.
enum:
- pay
- return
sequenceNumber:
type: string
description: Host defined identifier.
minLength: 5
maxLength: 5
example: '01550'
branchNumber:
type: string
description: Host defined identifier.
minLength: 3
maxLength: 3
example: '001'
isSuccessful:
type: boolean
description: When true, the pay/return update was successful. When false, the pay/return update failed.
error:
type: string
description: The reason the ACH exception failed.
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}/accounts/{AccountId}/positive-pay/ach-exceptions/{ExceptionItemId}:
get:
tags:
- ACH Exceptions
operationId: GetAchExceptionDetail
description: |
Retrieves the account-level ACH exception detail for the user on the account.
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: ExceptionItemId
required: true
schema:
type: string
description: The ID of the ACH exception item.
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
required:
- accountId
- accountType
- exceptionItemId
properties:
accountId:
type: string
description: The account identifier.
accountType:
type: string
description: The account type.
exceptionItemId:
type: string
description: Unique identifier for the exception item.
sequenceNumber:
type: string
nullable: true
description: Sequence number.
batchNumber:
type: string
nullable: true
description: Batch number.
checkNumber:
type: string
nullable: true
description: Check number.
updateCheckNumber:
type: string
nullable: true
description: Updated check number.
amount:
type: string
nullable: true
description: Transaction amount.
postDate:
type: string
nullable: true
description: Post date.
effectDate:
type: string
nullable: true
description: Effective date.
isResolved:
type: boolean
description: Whether this exception has been resolved.
transactionCode:
type: string
nullable: true
description: Transaction code.
transactionCodeDescription:
type: string
nullable: true
description: Description of the transaction code.
dispositionCode:
type: string
nullable: true
description: Disposition code.
dispositionDescription:
type: string
nullable: true
description: Description of the disposition.
actionCode:
type: string
nullable: true
description: Action code.
actionDescription:
type: string
nullable: true
description: Description of the action.
exceptionReasons:
type: array
description: List of exception reason objects.
items:
type: object
properties:
code:
type: string
description: Exception reason code.
description:
type: string
description: Exception reason description.
eftDescriptions:
type: array
description: EFT description strings.
items:
type: string
achCompanyName:
type: string
nullable: true
description: ACH company name.
achCompanyId:
type: string
nullable: true
description: ACH company identifier.
achStandardEntryClass:
type: string
nullable: true
description: ACH Standard Entry Class code.
achTraceNumber:
type: string
nullable: true
description: ACH trace number.
achItemTraceNumber:
type: string
nullable: true
description: ACH item trace number.
achOriginatingDFI:
type: string
nullable: true
description: ACH originating DFI routing number.
achReceivingDFI:
type: string
nullable: true
description: ACH receiving DFI routing number.
'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 Mon Apr 6 2026