ACH API (1.12.0)

Download OpenAPI specification:

ACH API

webhooks

Webhooks exposed by clients to update transaction status

/webhooks/v1/rdfiTransactions

header Parameters
x-cfsb-api-token
required
string <uuidv4>
x-cfsb-interaction-id
required
string <uuidv4>
x-cfsb-interaction-timestamp
required
string <ISO 8601>
Example: 2023-01-01T00:00:00Z
Request Body schema: application/json
amount
integer
originalEffectiveEntryDate
string <YYYY-MM-DD>
receiver
string <= 35 characters
rdfiAccountNumber
string <= 17 characters
achTraceNumber
string <= 15 characters
standardEntryClass
string <= 15 characters
rdfiRoutingNumber
string <= 9 characters
odfiRoutingNumber
string <= 9 characters
odfiCompanyName
string <= 100 characters
transactionCode
string
Enum: "22" "23" "24" "27" "28" "29" "32" "33" "34" "37" "38" "39" "42" "43" "44"
transactionType
string
Enum: "CREDIT" "DEBIT"
transactionId
string <uuidv4>

Responses

Request samples

Content type
application/json
{
  • "amount": 10099,
  • "originalEffectiveEntryDate": "2023-01-24",
  • "receiver": "John Doe",
  • "rdfiAccountNumber": "999000123",
  • "achTraceNumber": "999000123123456",
  • "standardEntryClass": "PPD",
  • "rdfiRoutingNumber": "999000125",
  • "odfiRoutingNumber": "999000134",
  • "odfiCompanyName": "TEST",
  • "transactionCode": "22",
  • "transactionType": "DEBIT",
  • "transactionId": "6a5823dc-c72f-4095-bb78-7b61318b8d3a"
}

/webhooks/v1/returns

header Parameters
x-cfsb-api-token
required
string <uuidv4>
x-cfsb-interaction-id
required
string <uuidv4>
x-cfsb-interaction-timestamp
required
string <ISO 8601>
Example: 2023-01-01T00:00:00Z
Request Body schema: application/json
code
string <= 100 characters
amount
integer
originalEffectiveEntryDate
string <YYYY-MM-DD>
receiver
string <= 35 characters
rdfiAccountNumber
string <= 17 characters
achTraceNumber
string <= 15 characters
standardEntryClass
string <= 15 characters
rdfiRoutingNumber
string <= 9 characters
odfiRoutingNumber
string <= 9 characters
odfiCompanyName
string <= 100 characters
transactionId
string <uuidv4>

Responses

Request samples

Content type
application/json
{
  • "code": "R13",
  • "amount": 10099,
  • "originalEffectiveEntryDate": "2023-01-24",
  • "receiver": "John Doe",
  • "rdfiAccountNumber": "999000123",
  • "achTraceNumber": "999000123123456",
  • "standardEntryClass": "PPD",
  • "rdfiRoutingNumber": "999000125",
  • "odfiRoutingNumber": "999000134",
  • "odfiCompanyName": "TEST",
  • "transactionId": "5fa88249-0102-45c0-ae5a-4851f1a06d75"
}

/webhooks/v1/rejects

header Parameters
x-cfsb-api-token
required
string <uuidv4>
x-cfsb-interaction-id
required
string <uuidv4>
x-cfsb-interaction-timestamp
required
string <ISO 8601>
Example: 2023-01-01T00:00:00Z
Request Body schema: application/json
status
string <= 100 characters
amount
integer
originalEffectiveEntryDate
string <YYYY-MM-DD>
receiver
string <= 35 characters
rdfiAccountNumber
string <= 17 characters
achTraceNumber
string <= 15 characters
standardEntryClass
string <= 15 characters
rdfiRoutingNumber
string <= 9 characters
odfiRoutingNumber
string <= 9 characters
odfiCompanyName
string <= 100 characters
transactionId
string <uuidv4>

Responses

Request samples

Content type
application/json
{
  • "status": "98 OFAC",
  • "amount": 10099,
  • "originalEffectiveEntryDate": "2023-01-24",
  • "receiver": "John Doe",
  • "rdfiAccountNumber": "999000123",
  • "achTraceNumber": "999000123123456",
  • "standardEntryClass": "PPD",
  • "rdfiRoutingNumber": "999000125",
  • "odfiRoutingNumber": "999000134",
  • "odfiCompanyName": "TEST",
  • "transactionId": "5fa88249-0102-45c0-ae5a-4851f1a06d75"
}

/webhooks/v1/cir

header Parameters
x-cfsb-api-token
required
string <uuidv4>
x-cfsb-interaction-id
required
string <uuidv4>
x-cfsb-interaction-timestamp
required
string <ISO 8601>
Example: 2023-01-01T00:00:00Z
Request Body schema: application/json
transactionId
string <uuidv4>
returnCode
string (returnReasonCode)
Enum: "R01" "R02" "R03" "R04" "R05" "R06" "R07" "R08" "R09" "R10" "R11" "R12" "R13" "R14" "R15" "R16" "R17" "R18" "R19" "R20" "R21" "R22" "R23" "R24" "R25" "R26" "R27" "R28" "R29" "R30" "R31" "R32" "R33" "R34" "R35" "R36" "R37" "R38" "R39" "R40" "R41" "R42" "R43" "R44" "R45" "R46" "R47" "R48" "R49" "R50" "R51" "R52" "R53" "R61" "R62" "R63" "R64" "R65" "R66" "R67" "R68" "R69" "R70" "R71" "R72" "R73" "R74" "R75" "R76" "R77" "R80" "R81" "R82" "R83" "R84" "R85"
effectiveEntryDate
string <YYYY-MM-DD>
companyId
string <uuidv4>
returnAchTraceNumber
string <= 15 characters
originalAchTraceNumber
string <= 15 characters
status
string
Value: "RETURNED_BY_CLIENT"
referenceId
string

Responses

Request samples

Content type
application/json
{
  • "transactionId": "6a5823dc-c72f-4095-bb78-7t71318b8d3a",
  • "returnCode": "R01",
  • "effectiveEntryDate": "2023-01-24",
  • "companyId": "6a7823dc-c72f-4095-bb78-7b61318b8d3a",
  • "returnAchTraceNumber": "999000123123456",
  • "originalAchTraceNumber": "999000123123457",
  • "status": "RETURNED_BY_CLIENT",
  • "referenceId": "RTN_OA00000008_20250327100000.ach"
}

/webhooks/v1/odfi

header Parameters
x-cfsb-api-token
required
string <uuidv4>
x-cfsb-interaction-id
required
string <uuidv4>
x-cfsb-interaction-timestamp
required
string <ISO 8601>
Example: 2023-01-01T00:00:00Z
Request Body schema: application/json
companyId
string <uuidv4>
serviceAccountId
string <uuidv4>
transactionGroupId
string <uuidv4>
transactionType
string
Enum: "CREDIT" "DEBIT"
isInternational
boolean
isSameDayACH
boolean
offsetReference
string
numberTransactions
integer
fileName
string

Responses

Request samples

Content type
application/json
{
  • "companyId": "6a7823dc-c72f-4095-bb78-7b61318b8d3a",
  • "serviceAccountId": "6a7823dc-c72f-4095-bb78-7b61318b8d3b",
  • "transactionGroupId": "6a7823dc-c72f-4095-bb78-7b61318b8d3c",
  • "transactionType": "CREDIT",
  • "isInternational": false,
  • "isSameDayACH": true,
  • "offsetReference": "2312210001",
  • "numberTransactions": 100,
  • "fileName": "ACHPS_0123456789_20210712154532_0000001.ach"
}

/webhooks/v1/noc

header Parameters
x-cfsb-api-token
required
string <uuidv4>
x-cfsb-interaction-id
required
string <uuidv4>
x-cfsb-interaction-timestamp
required
string <ISO 8601>
Example: 2023-01-01T00:00:00Z
Request Body schema: application/json
transactionId
string <uuidv4>
traceNumber
string <= 15 characters
changeCode
string (changeReasonCode)
Enum: "C01" "C02" "C03" "C04" "C05" "C06" "C07" "C08" "C09" "C13" "C14"
correctedData
string

Responses

Request samples

Content type
application/json
{
  • "transactionId": "6a5823dc-c72f-4095-bb78-7t71318b8d3a",
  • "traceNumber": "999000123123457",
  • "changeCode": "C01",
  • "correctedData": "string"
}

companyIds

Originating accounts available for a service account

Returns originating accounts for the current service account

Authorizations:
OAuth2
query Parameters
limit
integer
Default: 10
offset
integer
Default: 0
orderBy
string
Default: "id"
Enum: "id" "bankName" "bankCountry" "currency" "routingNumber"
order
string
Default: "ASC"
Enum: "ASC" "DESC"
bankName
string
bankCountry
string
currency
string
routingNumber
string
header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "pageHeader": {
    },
  • "data": [
    ]
}

transactions

Business account owners on the receiving end of transactions

Create a transaction

Returns a map of status codes to quantities

Authorizations:
OAuth2
header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>
Request Body schema: application/json
required
Array
companyId
required
string <UUIDv4>
transactionGroupId
string <UUIDv4>
standardEntryClass
required
string
Enum: "CCD" "PPD" "WEB" "IAT"
description
required
string <= 10 characters ^[A-Za-z0-9 ]*$
transactionDate
required
string <YYYY-MM-DD>
dueDate
required
string <YYYY-MM-DD>
amount
required
integer [ 1 .. 999999999 ]
routingNumber
required
string = 9 characters
accountNumber
required
string [ 1 .. 17 ] characters ^[A-Za-z0-9 ]{1,17}$
accountType
required
string
Enum: "CHECKING" "SAVINGS"
accountId
string <= 16 characters ^[A-Za-z0-9 ]*$

AccountID/AccountReferenceNumber on Clients system

transactionType
required
string
Enum: "CREDIT" "DEBIT" "PRENOTE_CREDIT" "PRENOTE_DEBIT"
transactionReference
required
string [ 1 .. 16 ] characters ^[A-Za-z0-9 ]+$
destinationCurrency
string <ISO 4217>
Default: "USD"
destinationCountry
string <ISO 3166>
Default: "US"
paymentInformation
string <= 80 characters ^[a-zA-Z0-9 ]*$
bankName
required
string [ 3 .. 35 ] characters ^[a-zA-Z0-9 ]{3,35}$
submitAsSameDayACH
boolean
Default: false
object (TransactionParty)
object (TransactionParty)
required
object (ReceivingParty)
Array of objects (TransactionParty)

Up to 3 tranaction parties

object

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Get transactions for this service account

Returns a map of status codes to quantities

Authorizations:
OAuth2
query Parameters
limit
integer
Default: 10
offset
integer
Default: 0
orderBy
string
Default: "id"
Enum: "id" "transactionReference" "achTraceNumber" "standardEntryClass" "routingNumber" "offsetReference" "destinationCurrency" "destinationCountry" "status" "dueDate" "transactionGroupId" "companyId" "receivingPartyName" "lastModifiedDate"
order
string
Default: "ASC"
Enum: "ASC" "DESC"
transactionReference
string
standardEntryClass
Array of strings
Items Enum: "PPD" "CCD" "WEB" "IAT"
routingNumber
string
offsetReference
string
achTraceNumber
string
destinationCurrency
string
destinationCountry
string
status
Array of strings
Items Enum: "CREATED" "REJECTED" "RELEASED" "RETURNED" "CANCELLED" "NOTIFIED"
dueDateStart
string <ISO 8601>
dueDateEnd
string <ISO 8601>
transactionGroupId
Array of strings
companyId
string <uuidv4>
receivingPartyName
string
lastModifiedDate
string <ISO 8601>
header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "pageHeader": {
    },
  • "data": [
    ]
}

Get Transaction by ID

Returns a transaction with the specified ID

Authorizations:
OAuth2
path Parameters
transactionId
required
string

The name that needs to be fetched. Use user1 for testing.

header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "id": "9a257484-e2b8-4828-acf6-aede59c758c4",
  • "status": "CREATED",
  • "events": [
    ],
  • "companyId": "15f8a800-47b9-11ec-8464-81c43de6fbbb",
  • "standardEntryClass": "PPD",
  • "description": "Rent",
  • "transactionDate": "2021-04-15",
  • "dueDate": "2021-04-20",
  • "amount": 100000,
  • "routingNumber": 2356790,
  • "accountNumber": "9182736450",
  • "accountType": "CHECKING",
  • "accountId": "1148563",
  • "transactionType": "CREDIT",
  • "transactionReference": "REF000001",
  • "destinationCurrency": "USD",
  • "paymentInformation": "Arbitrary Data",
  • "bankName": "Citi Bank",
  • "transactionGroupId": "a3aa0461-f5d1-446e-8c8e-426d7fe7f51a",
  • "submitAsSameDayACH": true,
  • "releasedAsSameDayACH": true,
  • "achTraceNumber": "062000010000001",
  • "offsetReference": "2312210001",
  • "achPaymentId": "3521423643-TOK68RXUS",
  • "destinationCountry": "CO",
  • "creationDateTime": "2021-04-21T00:00:00Z",
  • "lastModifiedDateTime": "2021-04-21T00:00:00Z",
  • "originatingParty": {
    },
  • "orderParty": {
    },
  • "receivingParty": {
    },
  • "additionalParties": [
    ],
  • "internationalTransactionData": {
    }
}

Cancel a transaction before submission to CFSB

Returns a map of status codes to quantities

Authorizations:
OAuth2
path Parameters
transactionId
required
string

The name that needs to be fetched. Use user1 for testing.

header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "id": "9a257484-e2b8-4828-acf6-aede59c758c4",
  • "status": "CREATED",
  • "events": [
    ],
  • "companyId": "15f8a800-47b9-11ec-8464-81c43de6fbbb",
  • "standardEntryClass": "PPD",
  • "description": "Rent",
  • "transactionDate": "2021-04-15",
  • "dueDate": "2021-04-20",
  • "amount": 100000,
  • "routingNumber": 2356790,
  • "accountNumber": "9182736450",
  • "accountType": "CHECKING",
  • "accountId": "1148563",
  • "transactionType": "CREDIT",
  • "transactionReference": "REF000001",
  • "destinationCurrency": "USD",
  • "paymentInformation": "Arbitrary Data",
  • "bankName": "Citi Bank",
  • "transactionGroupId": "a3aa0461-f5d1-446e-8c8e-426d7fe7f51a",
  • "submitAsSameDayACH": true,
  • "releasedAsSameDayACH": true,
  • "achTraceNumber": "062000010000001",
  • "offsetReference": "2312210001",
  • "achPaymentId": "3521423643-TOK68RXUS",
  • "destinationCountry": "CO",
  • "creationDateTime": "2021-04-21T00:00:00Z",
  • "lastModifiedDateTime": "2021-04-21T00:00:00Z",
  • "originatingParty": {
    },
  • "orderParty": {
    },
  • "receivingParty": {
    },
  • "additionalParties": [
    ],
  • "internationalTransactionData": {
    }
}

RDFI Transactions

Return an RDFI transaction previously received by a companyID

path Parameters
rdfiTransactionId
required
string <uuidv4>
header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>
Request Body schema: application/json
returnReasonCode
required
string (returnReasonCode)
Enum: "R01" "R02" "R03" "R04" "R05" "R06" "R07" "R08" "R09" "R10" "R11" "R12" "R13" "R14" "R15" "R16" "R17" "R18" "R19" "R20" "R21" "R22" "R23" "R24" "R25" "R26" "R27" "R28" "R29" "R30" "R31" "R32" "R33" "R34" "R35" "R36" "R37" "R38" "R39" "R40" "R41" "R42" "R43" "R44" "R45" "R46" "R47" "R48" "R49" "R50" "R51" "R52" "R53" "R61" "R62" "R63" "R64" "R65" "R66" "R67" "R68" "R69" "R70" "R71" "R72" "R73" "R74" "R75" "R76" "R77" "R80" "R81" "R82" "R83" "R84" "R85"
dateOfDeath
string <YYYY-MM-DD>
returnInformation
string [ 0 .. 44 ] characters

Responses

Request samples

Content type
application/json
{
  • "returnReasonCode": "R01",
  • "dateOfDeath": "1990-01-31",
  • "returnInformation": "Insufficient funds"
}

Response samples

Content type
application/json
{
  • "transactionId": "6a5823dc-c72f-4095-bb78-7b61318b8d3a",
  • "companyId": "string",
  • "standardEntryClass": "string",
  • "dueDate": "string",
  • "amount": 10099,
  • "achTraceNumber": "string",
  • "routingNumber": "string",
  • "accountNumber": "999000123",
  • "bankName": "string",
  • "status": "RETURN_INITIATED_BY_CLIENT",
  • "events": [
    ]
}

Get RDFI Transactions based on the provided search criteria

Get RDFI transactions based on the provided search criteria

Authorizations:
OAuth2
query Parameters
limit
integer
Default: 10
offset
integer
Default: 0
orderBy
string
Default: "id"
Enum: "status" "creationDate"
order
string
Default: "ASC"
Enum: "ASC" "DESC"
creationDate
string <ISO 8601>
Example: creationDate=2024-01-01
creationDateEnd
string <ISO 8601>
Example: creationDateEnd=2024-01-07
status
string
Enum: "ACCEPTED" "RETURN_INITIATED_BY_CLIENT" "RETURNED_BY_CLIENT"
header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "pageHeader": {
    },
  • "data": [
    ]
}

Get RDFI Transaction by ID

Get a RDFI transaction with the specified ID

Authorizations:
OAuth2
path Parameters
transactionId
required
string

The name that needs to be fetched. Use user1 for testing.

header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "id": "edfdaa69-e3c9-476d-ae73-23a2719f4881",
  • "status": "ACCEPTED",
  • "events": [
    ],
  • "companyId": "3ffbe6a2-47c9-11ec-b6d7-7b3e4f73dfd0",
  • "standardEntryClass": "PPD",
  • "description": "Rent",
  • "transactionDate": "2021-04-15",
  • "dueDate": "2021-04-20",
  • "amount": 100000,
  • "routingNumber": 2356790,
  • "accountNumber": "9182736450",
  • "transactionType": "DEBIT",
  • "transactionCode": 26,
  • "destinationCurrency": "USD",
  • "destinationCountry": "CO",
  • "paymentInformation": "Arbitrary Data",
  • "receivingBankName": "Citi Bank",
  • "inboundTraceNumber": "062000010000001",
  • "outboundTraceNumber": "062000010000002",
  • "receivingBankCountry": "US",
  • "originatingBankName": "Citi Bank",
  • "originatingCurrency": "USD",
  • "companyDiscretionaryData": "3380835604-Z4NCRSTJF",
  • "settlementDate": "2021-04-16",
  • "originatingParty": {
    },
  • "receivingParty": {
    },
  • "internationalTransactionData": {
    }
}

transactionGroups

Create a transaction group for transaction grouping

Returns a map of status codes to quantities

Authorizations:
OAuth2
header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>
Request Body schema: application/json
required
Array
clientReference
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Get Transaction Group by ID

Returns a map of status codes to quantities

Authorizations:
OAuth2
path Parameters
transactionGroupId
required
string

The name that needs to be fetched. Use user1 for testing.

header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "id": "beb49b39-8f90-4958-b877-ca3726f4f751",
  • "clientReference": "REF000000001",
  • "status": "CREATED",
  • "events": [
    ],
  • "files": [
    ]
}

Marks a transaction group as deleted and all its transactions

Marks a transaction group as deleted and all its transactions

path Parameters
transactionGroupId
required
string

The name that needs to be fetched. Use user1 for testing.

header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "id": "beb49b39-8f90-4958-b877-ca3726f4f751",
  • "clientReference": "REF000000001",
  • "status": "CREATED",
  • "events": [
    ],
  • "files": [
    ]
}

Release transaction Group

Marks a transaction Group as ready to be processed

Authorizations:
OAuth2
path Parameters
transactionGroupId
required
string

The name that needs to be fetched. Use user1 for testing.

header Parameters
x-cfsb-service-account
required
string
x-cfsb-interaction-id
required
string <uuidv4>

Responses

Response samples

Content type
application/json
{
  • "id": "beb49b39-8f90-4958-b877-ca3726f4f751",
  • "clientReference": "REF000000001",
  • "status": "CREATED",
  • "events": [
    ],
  • "files": [
    ]
}