FLEXBridge Transmission Service API Documentation
Version: FLEX Release 8.04 and above Last Updated: May 2023
1. Introduction to the Transmission Service API
The Transmission Service API is a powerful tool designed for credit unions using the FLEX system to retrieve comprehensive ACH (Automated Clearing House) information for their members. This API provides access to crucial data, including:
- Recent transactions.
- Pending transactions.
- Any set origination disbursements.
The Transmission Service API is part of FLEXBridge Functions.
2. API Architecture and Communication
FLEXBridge is built as a RESTful API. This means it uses standard HTTP methods for communication.
- Authentication: Built-in authentication is required for every request. Authentication details must be attached as HTTPS request headers. For specific authentication processes, refer to the “FLEX Authentication Protocols and Other Information” documentation.
- Data Format: All data, both sent and returned, is handled in JSON (JavaScript Object Notation) format.
3. Available API Functions
The Transmission Service API offers the following primary function:
- Retrieve ACH Information for an Account
4. Retrieve ACH Account Information
This function allows you to retrieve a member’s ACH account information, including a list of recent and pending transactions and any configured origination disbursements.
- Method: GET
- REST URL: https://{BASE_URL}/api/ach/account/{ACCOUNT_NUMBER}
- {BASE_URL}: The base URL for your FLEXBridge API.
- {ACCOUNT_NUMBER}: The member’s account number, which is a required parameter of type Number.
- Example URL: https://example.com/api/ach/account/12345
4.1. Response for Retrieve ACH Account Information
The response for retrieving ACH Account Information is an object of type FBAchAccountInformationDTO List. It contains a list of member ACH information, including recent and pending transactions and any set origination disbursements.
The structure of the response object is as follows:
{
“achAccountList”: [],
“achPendingList”: [],
“achOriginationList”: []
}
The response object contains the following lists:
- achAccountList: Contains details about recent ACH transactions and associated distributions.
- achPendingList: Contains information about ACH transactions that are pending.
- achOriginationList: Contains details about set origination disbursements.
4.2. ACH Account List
This list provides information about ACH entries that FLEX retains in the credit union core data.
- FLEX Screen Display Fields (for credit union employees):
- Company Name
- From and To Account Number
- From and To Subaccount Number
- Authorized Amount
- Stop Payment
- Use Payment Amount
- Use Due Date
- Last Run Date
- Example achAccountList Entry:
{
“companyId”: 1712,
“achAccountNumber”: “12345”,
“accountType”: “D”,
“companyName”: “OPM1 TREAS 310″,
“accountNumber”: 12345,
“suffixNumber”: 0,
“nameFromACHEntry”: “DANIEL W CRABTREE”,
“authorizationAmount”: 2777.21,
“lastRunDate”: “05/01/2023”,
“stopPayment”: false,
“achDistributionsList”: []
}
Attributes of achAccountList:- companyId (Number): ACH company ID (max 10 characters).
- achAccountNumber (String): ACH account number (max 17 characters).
- accountType (String): Indicates the account type involved in the transaction (max 1 character).
- Valid Options: D = Draft, S = Share, L = Loan.
- companyName (String): ACH company name (max 16 characters).
- accountNumber (Number): Member account number (max 9 characters).
- suffixNumber (Number): Suffix or subaccount value for ACH posting (max 3 characters).
- nameFromACHEntry (String): Name received from ACH posting entry (max 22 characters).
- authorizationAmount (Number): Authorization amount; negative values indicate debits to the account (max 9 characters).
- lastRunDate (Date): Last posting date (formatted as MM/DD/CCYY).
- stopPayment (Boolean): Indicates if payment was stopped.
- Valid Options: True or False.
- achDistributionList (List): A list of distributions tied to the ACH posting. This object will be empty ([]) if there are no distributions.
4.3. ACH Distributions List
This list contains ACH distributions connected with an ACH posting entry or configured by the credit union. It will be [] when no distributions exist.
- Example achDistributionsList Entry:
{
“achGroup”: null,
“fromAccountNumber”: 0,
“fromSuffixNumber”: 0,
“priority”: null,
“sequenceNumber”: 0,
“nameFromACHEntry”: null,
“toAccountNumber”: 12345,
“toSuffixNumber”: 660,
“amount”: 250.00,
“usePaymentAmount”: true,
“useDueDate”: true,
“stopPaymentDate”: “05/29/2027”,
“transactionDescription”: “Test Disbursement”,
“frequency”: “1”,
“dueDateGraceDays”: 15,
“allowPartial”: “Y”,
“iraHsaCode”: “”,
“lastRunDate”: null,
“nextRunDate”: “05/23/2023”,
“restartPaymentDate”: “04/15/2028”,
“stopPayment”: false,
“alternatePayeeSequenceNumber”: 0
}
Attributes of achDistributionsList:- achGroup (String): Credit union defined ACH group ID (max 4 characters).
- fromAccountNumber (Number): Account debited for distribution posting (max 9 characters).
- fromSuffixNumber (Number): Subaccount debited for distribution posting (max 3 characters).
- priority (String): Sequence priority for multiple distribution postings (max 1 character).
- Valid Options: 1 through 9 (1 is highest, 9 is lowest).
- sequenceNumber (Number): Distribution sequence number (max 7 characters).
- nameFromACHEntry (String): Name received with ACH distribution or credit union defined entry (max 22 characters).
- toAccountNumber (Number): Account credited with distribution posting (max 9 characters).
- toSuffixNumber (Number): Subaccount credited with distribution posting (max 3 characters).
- amount (Number): Distribution amount (max 9 characters).
- usePaymentAmount (Boolean): Indicates whether to use the loan payment amount for the distribution amount.
- Valid Options: True or False.
- useDueDate (Boolean): Indicates whether to use the loan due date as the distribution posting date.
- Valid Options: True or False.
- stopPaymentDate (Date): Date the distribution payment was stopped (formatted as MM/DD/CCYY).
- transactionDescription (String): Distribution transaction description (max 16 characters).
- frequency (String): Distribution frequency (max 1 character).
- Valid Options: A, B, C, E, 1, M, 3, Q, 6, F, T, W, & 4. Refer to Appendix: Frequency Values for details.
- dueDateGraceDays (Number): Credit union defined value for the number of days before a loan due date a distribution can occur. Applicable only when useDueDate is true (max 2 characters).
- allowPartial (String): Indicates whether a partial distribution is allowed (max 1 character).
- Valid Options: Y, N, O, P & R. Refer to Appendix: Allow Partial Payment Options for details.
- iraHsaCode (String): IRA HSA code, if applicable, for distribution (max 1 character).
- Valid Options: E, L, O, R, T, & 5 for HSA codes, and G, K, L, N, R, S, T, 0, 5, & 9 for IRA codes. Refer to Appendix: HSA Codes and IRA Codes for details.
- lastRunDate (Date): Last distribution posting (formatted as MM/DD/CCYY).
- nextRunDate (Date): Next distribution posting (formatted as MM/DD/CCYY).
- restartPaymentDate (Date): Date a stopped distribution starts posting again (formatted as MM/DD/CCYY).
- stopPayment (Boolean): Indicates if distribution payment is stopped.
- Valid Options: True or False.
- alternatePayeeSequenceNumber (Number): Alternate distribution payee sequence number (max 9 characters).
4.4. ACH Pending List
This list contains information about ACH entries that are pending. FLEX retains all values in the credit union core data.
- FLEX Screen Display Fields (for credit union employees):
- Settlement Date
- Company Name
- Description
- Transaction Amount
- Transaction Code
- ACH Account Number
- Trace Number
- Individual Id
- Example achPendingList Entry:
{
“recordCode”: “A”,
“sequenceNumber”: 2769829,
“companySequence”: 3395,
“achAccountNumber”: “000012345”,
“transactionCode”: “22”,
“transactionAmount”: 824.00,
“memberName”: “12345JOLLEY ERIC A”,
“transactionEffectiveDate”: “05/02/2023”,
“traceNumber”: “091000010499105”,
“exceptionReason”: “”,
“individualId”: “XXXXX9679”,
“routeNumber”: “30217658”,
“terminalLocation”: “”,
“terminalCity”: “”,
“terminalState”: “”,
“terminalDate”: “”,
“description”: “COSTTAXRFD”,
“companyName”: “CO DEPT REVENUE”,
“chargeFee”: true,
“entryClass”: “PPD”,
“returnCode”: “”,
“stopTableSequence”: 0,
“stopOrRevoke”: “”,
“deceasedDateOrR69Reason”: “”,
“secondaryEntryClass”: “”,
“flagOfacSuspect”: false,
“iatCheckNumber”: “”,
“overdraftSequenceNumber”: “”,
“settlementDate”: “05/02/2023”,
“open”: “”
}
Attributes of achPendingList:- recordCode (String): FLEX record code entry (max 1 character).
- sequenceNumber (Number): Assigned ACH pending sequence number (max 7 characters).
- companySequence (Number): ACH group company sequence number (max 7 characters).
- achAccountNumber (String): Received ACH entry account number (max 17 characters).
- transactionCode (String): Identifies various types of credit and debit entries (max 2 characters).
- Valid Options: 21, 22, 23, 26, 27, 28, 31, 32, 33, 36, 37, 38, 41, 42, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55 & 56. Refer to Appendix: ACH Transaction Codes for details.
- transactionAmount (Number): Pending ACH transaction amount (max 9 characters).
- memberName (String): Member name (max 22 characters).
- transactionEffectiveDate (Date): Effective date for ACH posting (formatted as MM/DD/CCYY).
- traceNumber (String): ACH posting trace number (max 15 characters).
- exceptionReason (String): ACH exception posting reason (max 20 characters).
- individualId (String): ACH posting individual ID (max 15 characters).
- routeNumber (String): Route number (max 8 characters).
- terminalLocation (String): Terminal location (max 27 characters).
- terminalCity (String): Terminal city (max 15 characters).
- terminalState (String): Terminal state (max 2 characters).
- terminalDate (Date): Terminal date for transaction (formatted as MM/DD/CCYY).
- description (String): Posting description (max 10 characters).
- companyName (String): Company name (max 16 characters).
- chargeFee (Boolean): Indicates if a fee was charged during posting.
- Valid Options: True or False.
- entryClass (String): ACH posting entry class (max 3 characters).
- Valid Options: ARC, CCD, CTX, IAT, PPD, TEL, & WEB.
- returnCode (String): ACH posting return code (max 2 characters).
- Valid Options: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 29, 31, 37, 38, 39, 50, 51, 52, & 53. Refer to Appendix: ACH Return Codes for details.
- stopTableSequence (Number): Stop table sequence (max 2 characters).
- stopOrRevoke (String): Indicates whether to stop or revoke posting (max 1 character).
- Valid Options: S = Stop or R = Revoke.
- deceasedDateOrR69Reason (String): Deceased date or R69 reason (max 9 characters).
- secondaryEntryClass (String): Secondary entry class (max 3 characters).
- flagOfacSuspect (Boolean): Indicates if flagged for suspect OFAC match.
- Valid Options: True or False.
- iatCheckNumber (Number): IAT check number (max 9 characters).
- overdraftSequenceNumber (String): Overdraft sequence number (max 9 characters).
- settlementDate (Date): Settlement date (formatted as MM/DD/CCYY).
- open (String): Open space for additional information (max 14 characters).
4.5. ACH Origination List
This list contains information about ACH originations. FLEX retains all values in the credit union core data.
- FLEX Screen Display Fields (for credit union employees):
- Company Name
- Member Account
- Suffix
- Frequency
- Transaction Code
- Next Processing Date
- Effective Date
- Amount
- Transaction Description
- DFI Account Number
- Example achOriginationList Entry:
{
“companySequenceNumber”: 1,
“detailSequenceNumber”: 46,
“recordCode”: “0”,
“frequency”: “1”,
“lastSendDate”: null,
“processingDate”: “05/01/2023”,
“effectiveDate”: “05/02/2023”,
“preNoteDate”: null,
“memberAccountNumber”: “20604”,
“memberAccountSuffix”: “16”,
“verifyFundsAvailable”: true,
“transactionDescription”: “COLORAMO FCU”,
“feeAmount”: 0.00,
“feeAccountNumber”: 0,
“feeAccountSuffix”: 0,
“considerLoanDueDate”: false,
“useLoanPaymentAmount”: “”,
“iraCode”: “”,
“transactionCode”: 27,
“receivingDfi”: 30207583,
“receivingDfiCheckDigit”: 0,
“dfiAccountNumber”: “7500915728”,
“amount”: 1250.00,
“individualIdNumber”: “20604”,
“individualName”: “JUDY L GOLDEN”,
“discretionaryData”: “lv”,
“addendaInformation”: “COLORAMO SAVINGS CREDIT”,
“nextProcessingDate”: “05/01/2023”,
“effectiveDateAdjust”: 1,
“startDate”: null,
“companyName”: “COLORAMO FCU”
}
Attributes of achOriginationList:- companySequenceNumber (Number): Company sequence number (max 5 characters).
- detailSequenceNumber (Number): Detail sequence number (max 5 characters).
- recordCode (String): Record code (max 1 character).
- frequency (Number): Origination frequency (max 1 character).
- Valid Options: A, B, C, E, 1, M, 3, Q, 6, F, T, W, & 4. Refer to Appendix: Frequency Values for details.
- lastSendDate (Date): Last date origination sent (formatted as MM/DD/CCYY).
- processingDate (Date): Last origination processing date (formatted as MM/DD/CCYY).
- effectiveDate (Date): Effective origination date (formatted as MM/DD/CCYY).
- preNoteDate (Date): Pre-notice origination date, if applicable (formatted as MM/DD/CCYY).
- memberAccountNumber (Number): Member account number (max 9 characters).
- memberAccountSuffix (Number): Member suffix number (max 3 characters).
- verifyFundsAvailable (Boolean): Indicates if available funds were verified.
- Valid Options: True or False.
- transactionDescription (String): Origination description (max 16 characters).
- feeAmount (Number): Origination fee amount (max 9 characters).
- feeAccountNumber (Number): Account used for origination fee (max 9 characters).
- feeSuffixNumber (Number): Subaccount used for origination fee (max 3 characters).
- considerLoanDueDate (Boolean): Indicates whether to use the loan due date as the origination posting date.
- Valid Options: True or False.
- useLoanPaymentAmount (String): Indicates whether to use the loan payment amount for the origination amount (max 1 character).
- Valid Options: Y = Yes or N = No.
- iraCode (String): IRA code, if applicable, for distribution (max 1 character).
- Valid Options: G, K, L, N, R, S, T, 0, 5, & 9. Refer to Appendix: IRA Codes for details.
- transactionCode (Number): Identifies various types of credit and debit entries (max 2 characters).
- Valid Options: 21, 22, 23, 26, 27, 28, 31, 32, 33, 36, 37, 38, 41, 42, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55 & 56. Refer to Appendix: ACH Transaction Codes for details.
- receivingDfi (Number): Identifies the receiving company ID (max 8 characters).
- receivingDfiCheckDigit (Number): Received DFI check digit (max 1 character).
- dfiAccountNumber (String): DFI account number (max 17 characters).
- amount (Number): Origination amount (max 10 characters).
- individualIdNumber (String): Individual ID number (max 15 characters).
- individualName (String): Individual name (max 22 characters).
- discretionaryData (String): Optional field used by the DFI for additional information (max 2 characters).
- addendaInformation (String): Optional field generated by the originating DFI (max 80 characters).
- nextProcessingDate (Date): Origination next processing date (formatted as MM/DD/CCYY).
- effectiveDateAdjust (Number): Number of business days after the processing date the transaction is posted (max 1 character).
- startDate (Date): Origination start date (formatted as MM/DD/CCYY).
- companyName (String): Origination company name (max 16 characters).
Appendix
This section provides detailed definitions for various codes and options referenced throughout the API documentation.
A. Allow Partial Payment Options
(Applicable to achDistributionsList.allowPartial)
- Y: Post a partial distribution. Distribution will only occur if the received amount is sufficient for the total scheduled distribution.
- N: Do not allow partial distribution. Distribution will not occur if the received amount is insufficient for the total scheduled distribution.
- O: Override available funds and allow the entire scheduled distribution to post. This may potentially result in a negative account balance.
- P: Override available funds to PAR value and post a partial distribution, ignoring any hold on the account.
- R: Allow a partial distribution, but distribute no more than the received amount if the received amount is less than the scheduled distribution.
B. Frequency Values
(Applicable to achDistributionsList.frequency and achOriginationList.frequency)
- W: Weekly
- 4: Weekly, Skip Last
- B: Bi-Weekly
- C: Bi-Weekly, Skip First
- E: Bi-Weekly, Skip Last
- F: Semi-Monthly
- 1: Monthly
- M: Last Day of the Month
- 3: Quarterly
- Q: Last Day of the Quarter
- 6: Semi-Annually
- A: Last Day of Year
- T: One Time Only
C. HSA Codes
(Applicable to achDistributionsList.iraHsaCode)
- E: Employer Contribution (IRS Form 5498 Box 02)
- L: Regular Contribution for Prior Year (IRS Form 5498 Box 03)
- O: Contribution Other Than E or T (IRS Form 5498 Box 02)
- R: Rollover Contribution (IRS Form 5498 Box 04)
- T: Regular Contribution (IRS Form 5498 Box 02)
- 5: Internal Code Only – Transaction is not reported to IRS
D. IRA Codes
(Applicable to achDistributionsList.iraHsaCode and achOriginationList.iraCode)
- G: Rollover contribution (IRS Form 5498 Box 02)
- K: Regular SEP contribution made for prior year (IRS Form 5498 Box 01)
- L: Regular IRA contribution made for prior year (IRS Form 5498 Box 01)
- N: Recharacterized contribution (IRS Form 5498 Box 04)
- R: Rollover contribution (IRS Form 5498 Box 02)
- S: Regular SEP contribution made for current year (IRS Form 5498 Box 01)
- T: Regular IRA contribution made for current year (IRS Form 5498 Box 01)
- 0: Self-certified postponed rollover contribution (IRS Form 5498 Box 13)
- 5: Internal code only – transaction is not reported to IRS
- 9: Transfer to spouse incident to divorce (IRS Form 5498 Box 02)
E. ACH Transaction Codes
(Applicable to achPendingList.transactionCode and achOriginationList.transactionCode)
- 21: Draft Credit
- 22: Draft Credit
- 23: Draft Credit Notice
- 26: Draft Debit
- 27: Draft Debit
- 28: Draft Debit Notice
- 31: Share Credit
- 32: Share Credit
- 33: Share Credit Notice
- 36: Share Debit
- 37: Share Debit
- 38: Share Debit Notice
- 41: GL Credit
- 42: GL Credit
- 43: GL Credit Notice
- 44: GL Credit
- 46: GL Debit
- 47: GL Debit
- 48: GL Debit Notice
- 49: GL Debit
- 51: Loan Credit
- 52: Loan Credit
- 53: Loan Credit Notice
- 54: Loan Credit
- 55: Loan Debit
- 56: Loan Debit Notice
F. ACH Return Codes
(Applicable to achPendingList.returnCode)
- 01: Insufficient funds
- 02: Account closed
- 03: No Account or unable to locate
- 04: Invalid account number
- 05: Unauthorized DB (CCD or CTX only)
- 06: Returned per ODFI’s request
- 07: Authorized revoked by customer
- 08: Payment stopped
- 09: Uncollected funds
- 10: Customer Advises not to authorize
- 11: Check truncation entry return
- 12: Account sold to another DFI
- 13: Invalid ACH routing number
- 14: Representative payee deceased
- 15: Account or Beneficiary deceased
- 16: Account frozen or per OFAC
- 17: File record edit criteria
- 20: Non-Transaction account
- 21: Invalid company identification
- 22: Invalid Individual Id number
- 23: Credit entry refused by receiver
- 24: Duplicate entry
- 29: Corp. advised not to authorize
- 31: Permissible return entry CCD
- 37: Source document presented for payment
- 38: Stop pay on ARC source document
- 39: Improper source document
- 50: State law affects RCK acceptance
- 51: Item is ineligible (RCK Only)
- 52: Stop payment on item (RCK)
- 53: RCK document presented for payment