FLEXBridge Transmission Service API Documentation

FLEXBridge FLEXBridge 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