FLEXBridge Account Inquiry Service API

FLEXBridge 2025 FLEXBridge API Documents FLEXBridge Account Inquiry Service API

This document provides comprehensive technical documentation for the FlexBridge Account Inquiry Service API, a RESTful API designed for retrieving member account information within the Flex system (www.flexcutech.com). This API is essential for third-party applications and internal systems requiring access to detailed member and account data.

1. Introduction to FlexBridge Account Inquiry Service API

The FlexBridge Account Inquiry Service API facilitates the retrieval of various types of member and account information. All data is sent and returned in JSON format, and requests must include HTTPS authentication headers as detailed in the FLEX Core System documentation.

  • Available FLEX Releases: 8.04 and up
  • Account Service API Versions: 1.467 and up

2. General API Information

  • RESTful API: Follows RESTful principles for communication.
  • Authentication: Requires built-in authentication via HTTPS request headers.
  • Data Format: All data is sent and returned in JSON format.

3. Key Search Functions

The Account Inquiry Service API supports various methods for searching member and account information:

  • By Name:
    • Full Name
    • Partial Name
    • Last Name and First Initial
  • By Tax ID:
    • Full Tax ID
    • Partial Tax ID
    • Last Four Digits of Tax ID
  • By Account Number:
    • Full Account Number

4. API Endpoints and Methods

The API offers both GET and POST methods for inquiries. POST methods are generally recommended for enhanced security, as they allow sensitive information to be sent in the JSON body rather than the URL.

4.1. Account Inquiry Searches (General)

These endpoints are used to retrieve member information or account numbers.

  • GET Method:
    • URL Structure: https://{BASE_URL}/api/account/search/{SEARCH_TYPE}?query={QUERY_INFO}&association={ASSOCIATION_TYPE}
    • {SEARCH_TYPE} (Required, String): Specifies the type of search.
      • Valid Options: name, taxid, accountnumber, partialname, partialtaxid, lastfourtaxid, lastnamefirstinitial.
    • {QUERY_INFO} (Required, String): The member query value based on the search type (e.g., member’s name, account number, Tax ID).
    • {ASSOCIATION_TYPE} (Optional, String): Used to filter results by a member’s association type. If not used, all association types are returned.
      • Valid Options: P (Primary Member), J (Joint Owner), B (Beneficiary), C (Co-Borrower), A (Authorized Signer).
  • POST Method:
    • URL Structure: https://{URL_ADDRESS}/api/account/search/{SEARCH_TYPE}
    • Requires JSON Body: Request parameters are sent in the JSON body, providing increased security.
  • Response Object (for both GET and POST):
    {
      “success”: true,
      “accounts”: [] // List of accounts with limited member information
    }

    • success (Boolean): Indicates the status of the request.
    • accounts (List of accounts): Contains limited member information. If empty, the search value was not found or is invalid.

4.2. Account Number Query

Retrieves member information tied to a specific account number, including open, closed, charged off, bankrupt, dormant, and deceased accounts.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/search/accountnumber?query={ACCOUNT_NUMBER}&association={ASSOCIATION_TYPE}
    • {ACCOUNT_NUMBER} (Required, Number): The full member account number.
  • POST Method:
    • URL: https://{URL_ADDRESS}/api/account/search/accountnumber
    • JSON Body Attributes:
      • accountNumber (Required, Number): Member account number.
      • associationType (Optional, String): Filter by association type (same options as above).
  • Response Object: Same as general account inquiry search response.

4.3. Tax ID Searches

Retrieves all accounts linked to a member via their Tax ID.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/search/{SEARCH_TYPE}?query={TAX_ID_VALUE}&association={ASSOCIATION_TYPE}
    • {SEARCH_TYPE} (Required, String): taxid, partialtaxid, or lastfourtaxid.
    • {TAX_ID_VALUE} (Required, String): The Tax ID value.
  • POST Method (Specific Endpoints for each search type):
    • Full Tax ID: https://{URL_ADDRESS}/api/account/search/taxid
      • JSON Body: taxId (Required, Number), associationType (Optional, String).
    • Last Four Tax ID: https://{URL_ADDRESS}/api/account/search/lastfourtaxid
      • JSON Body: lastFourTaxId (Required, Number), associationType (Optional, String).
    • Partial Tax ID: https://{URL_ADDRESS}/api/account/search/partialtaxid
      • JSON Body: partialTaxId (Required, Number), associationType (Optional, String).
  • Response Object: Same as general account inquiry search response.

4.4. Member Name Searches

Searches for member account numbers by name, including closed accounts.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/search/{SEARCH_TYPE}?query={NAME_VALUE}&association={ASSOCIATION_TYPE}
    • {SEARCH_TYPE} (Required, String): name, partialname, or lastnamefirstinitial.
    • {NAME_VALUE} (Required, String): The name value. For name and lastnamefirstinitial, use comma-separated format (e.g., LAST_NAME,FIRST_NAME or LAST_NAME,FIRST_INITIAL).
  • POST Method (Specific Endpoints for each search type):
    • Full Name: https://{URL_ADDRESS}/api/account/search/name
      • JSON Body: memberName (Required, String – “last, first”), associationType (Optional, String).
    • Last Name First Initial: https://{URL_ADDRESS}/api/account/search/lastnamefirstinital
      • JSON Body: lastNameFirstInitial (Required, String – “last, f”), associationType (Optional, String).
    • Partial Name: https://{URL_ADDRESS}/api/account/search/partialname
      • JSON Body: partialName (Required, String), associationType (Optional, String).
  • Response Object: Same as general account inquiry search response.

4.5. Account Detail Inquiry

Retrieves the maximum amount of data for an individual account, including member data, addresses, emails, phone numbers, shares, certificates, loans, joint owners, authorized signers, and co-borrowers. Beneficiary information is only available through Tax ID searches.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/detail
  • POST Method:
    • URL: https://{URL_ADDRESS}/api/account/detail/info
    • JSON Body Attribute: accountNumber (Required, String).
  • Response Object:
    {
      “success”: true,
      “accountOverview”: {} // Detailed account overview object
    }

    • accountOverview (Object): Contains extensive data about the specified account.

4.6. Accounts Opened Query

Retrieves all accounts opened within a specified date range.

  • POST Method (JSON Body Required):
    • URL: https://{URL_ADDRESS}/api/account/search/opened
    • JSON Body Attributes:
      • fromDate (Required, Date – MM/DD/CCYY): Beginning date of the query.
      • toDate (Required, Date – MM/DD/CCYY): Ending date of the query.
    • Note: For optimal performance, Flex advises limiting the date range to no longer than one year to prevent timeouts.
  • Response Object:
    {
      “success”: true,
      “accounts”: [] // List of accounts opened within the queried date(s)
    }

4.7. Account Suffix Transaction History Requests

Retrieves transaction history records for a specific account suffix. Multiple requests are required to get history for all suffixes.

  • POST Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/history/{SUFFIX}
    • {ACCOUNT_NUMBER} (Required, Number): Member account number.
    • {SUFFIX} (Required, Number): Member suffix number.
    • JSON Body (Optional Filter Parameters):
      • transactionNumber (Number): Unique sequence number.
      • fromDate (Date – MM/DD/CCYY): Start date for history.
      • toDate (Date – MM/DD/CCYY): End date for history.
      • referenceNumber (Number): Transaction reference number.
      • fromCheckNumber (Number): Start check number for history.
      • toCheckNumber (Number): End check number for history.
      • maxResultCount (Number): Limits the number of records in the response.
      • includeComments (Boolean): Include or exclude comment records.
      • includeAvailableBalanceAdjustments (Boolean): Include or exclude available balance adjustment records.
    • Note: If no filter options are used, all available transaction history records for the suffix are returned.
  • Response Object:
    {
      “success”: true,
      “history”: [] // List of suffix history transaction records
    }

4.8. Account Holds

Retrieves a list of holds for an account.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/holds
  • POST Method:
    • URL: https://{URL_ADDRESS}/api/account/holds/info
    • JSON Body Attribute: accountNumber (Required, Number).
  • Response Object:
    {
      “success”: true,
      “holds”: [] // Lists current holds on an individual’s account
    }

4.9. Account Suffix Share Overdraft Information

Retrieves share overdraft information for a specific account suffix.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/shareoverdraftinformation/{SUFFIX_NUMBER}
    • {ACCOUNT_NUMBER} (Required, Number).
    • {SUFFIX_NUMBER} (Required, Number).
  • Response Object:
    {
      “success”: true,
      “shareOverdraftInformation”: [] // Response object indicating Share Overdrafting Information
    }

4.10. Account Notes

Retrieves notes available for a member’s account.

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/notes
  • Response Object:
    {
      “success”: true,
      “accountNotes”: [] // List of notes available for the account number
    }

4.11. Audio PIN Reset

Resets a member’s audio PIN to four zeros (0000). The member will be prompted to enter a new PIN upon next access.

  • POST Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/resetpin
    • {ACCOUNT_NUMBER} (Required, Number).
  • Response Object:
    {
      “success”: true,
      “pinResetResponse”: {} // Indicates if PIN value was reset or not
    }

4.12. Validate Audio PIN

Verifies if an Audio PIN is valid for account access.

  • POST Method (JSON Body Required):
    • URL: https://{URL_ADDRESS}/api/account/audio/validatepin
    • JSON Body Attributes:
      • accountNumber (Required, Number).
      • unencryptedPIN (Required, String – max 4 characters).
  • Response Object:
    {
      “success”: true,
      “validation”: {} // Indicates if a PIN is valid
    }

4.13. Change Audio PIN

Changes a member’s Audio PIN to a new value. PINs must be 4 numeric characters.

  • POST Method (JSON Body Required):
    • URL: https://{URL_ADDRESS}/api/account/audio/pin/change
    • Optional URL Headers: tellerID={TELLER_ID}, workstation={WORKSTATION_ID}.
    • JSON Body Attributes:
      • accountNumber (Required, Number).
      • unencryptedPIN (Required, String – 4 numeric characters).
  • Response Object:
    {
      “success”: true,
      “pinchange”: {} // Indicates if a PIN was changed
    }

4.14. Searching an Account’s Relationship Pricing Groups

Retrieves a member’s current Relationship Pricing Group(s).

  • GET Method:
    • URL: https://{URL_ADDRESS}/api/account/{ACCOUNT_NUMBER}/relationshipgroups
    • {ACCOUNT_NUMBER} (Required, Number).
  • Response Object:
    {
      “success”: true,
      “relationshipPricingGroups”: {} // Description of the Relationship Pricing Group(s) for account
    }

4.15. Account MICR Lookup

Looks up a member account number and subaccount value via the member-assigned MICR number.

  • POST Method (JSON Body Required):
    • URL: https://{URL_ADDRESS}/api/account/search/micrnumber
    • JSON Body Attribute: micrNumber (Required, String).
  • Response Object:
    {
      “success”: true,
      “accountMicrInformation”: {} // Returns account number and subaccount for MICR queried
    }

4.16. Account Contact Information

Looks up a member’s contact information using a member’s account number.

  • POST Method (JSON Body Required):
    • URL: https://{URL_ADDRESS}/api/account/contact/information
    • JSON Body Attribute: accountNumber (Required, Number).
  • Response Object:
    {
      “success”: true,
      “accountContactInformation”: {} // Returns member contact information
    }

4.17. Account Available Balance Verification

Looks up a member’s subaccount/suffix available balance for transaction verification.

  • POST Method (JSON Body Required):
    • URL: https://{URL_ADDRESS}/api/suffix/available/balance
    • JSON Body Attributes:
      • accountNumber (Required, Number).
      • suffixNumber (Required, Number).
      • transactionAmount (Required, Number).
  • Response Object:
    {
      “success”: true,
      “suffixBalanceInformation”: {} // Returns suffix balance information and account flags
    }

5. Object References (Key Response Objects)

The following are common objects returned in various API responses, providing detailed member and account information.

  • accounts (Account Search Results):
    • Contains accountNumber, suffix, associationType, openedDate, firstName, lastName, taxId, birthDate, accountType, primaryAddress, emails, and more.
  • accountOverview (Account Detail Inquiry):
    • Comprehensive data including accountNumber, accountStatusCode, entity (primary account holder details), shares, certificates, loans, jointOwners, authorizedSigners, coBorrowers, creditScores, nonSufficientFunds, and various addresses and contact information.
  • history (Account Suffix Transaction History):
    • Includes sequenceNumber, accountNumber, suffix, transactionNumber, actualDate, amount, balanceBefore, balanceAfter, description, tranCode, debitORCredit, and more.
  • holds (Account Holds):
    • Lists accountNumber, suffix, daysToHold, reason, dateOfHold, amount, and timeOfHold.
  • shareOverdraftInformation (Account Suffix Share Overdraft Information):
    • Provides details about loan and share types used for overdrafting.
  • accountNotes (Account Notes):
    • Contains noteId, accountNumber, suffix, creationDate, subject, text, noteCategory, notePriority, and priorityColor.
  • pinResetResponse (Audio PIN Reset):
    • Indicates blocked status and blockReasons.
  • validation (Validate Audio PIN):
    • Indicates valid status and validationErrorMessage.
  • pinchange (Change Audio PIN):
    • Indicates success and errorMessage.
  • relationshipPricingGroups (Relationship Pricing Groups):
    • Lists groups (Credit union defined Relationship Pricing Group descriptions).
  • accountMicrInformation (Account MICR Lookup):
    • Returns accountNumber, suffixNumber, shareType, loanType, and various account flags (accountOpen, accountFrozen, subaccountOpen).
  • accountContactInformation (Account Contact Information):
    • Includes accountNumber, firstName, lastName, displayableName, primaryAddress, workPhone, cellPhone, homePhone, and emails.
  • suffixBalanceInformation (Account Available Balance Verification):
    • Provides accountNumber, suffixNumber, shareType, loanType, subaccount flags (subaccountBankrupt, subaccountChargedOff, subaccountFrozen, subaccountDormant), transactionAmount, fundsAvailable, amountOfFundsAvailable, and errorDetail.

6. HTTPS Status Code 500 Errors and Validation Checks

Flex has enhanced 500 HTTP Status Code errors with additional troubleshooting information. These errors often occur due to invalid attribute values or missing data in the Credit Union’s database configuration.

  • Common Error Messages:
    • “Internal server error – null”: General error for incorrect request information.
    • “Internal server error – Account [account number] was not found.”: Occurs when the account number is invalid.
    • “Internal server error – Invalid query, Tax ID must be at least length 7.”: For Tax ID searches with insufficient length.
    • “Internal server error – Invalid query, partial Tax ID must length 4”: For partial Tax ID searches with insufficient length.
    • “Internal server error – From Date must be entered”: When fromDate is missing in Accounts Opened Query.
    • “Internal server error – To Date must be entered”: When toDate is missing in Accounts Opened Query.
    • “Internal server error – Error parsing request”: For incorrect date formats (must be MM/DD/CCYY).
    • “PIN has to be 4 digits long”: For Audio PIN changes with incorrect PIN length.
    • “PIN has to be a number”: For Audio PIN changes with non-numeric characters.
    • “Invalid numeric value: Leading zeroes not allowed”: Occurs when unencryptedPIN is all zeros or has leading zeros not in double quotes.
    • “Numeric value (…) out of range of int (…)”: Occurs when accountNumber is greater than 9 characters.
  • Troubleshooting Tip: Provide the exact error message to your Credit Union’s Flex support for efficient troubleshooting.

7. Appendix (Key Reference Lists)

The document includes comprehensive appendices with various code lists for reference:

  • Transaction Code List:
    • Share Transaction Codes (Deposit, Withdrawal, Transfer)
    • Loan Transaction Codes (Payments, Reversal, Withdrawal, Transfer)
    • Credit Card Transaction Codes (Payment, Withdrawal, Reversal, Transfer)
  • Type Groups: Flex-assigned Group type codes for Certificates, Shares, and Loans.
  • IRA Code List: Codes for various IRA distributions and contributions.
  • Charge Off Codes: Codes indicating reasons for account charge-offs.
  • Loan Payment Frequencies: Codes for different loan payment schedules (Weekly, Bi-weekly, Monthly, Quarterly, Yearly, etc.).
  • Credit Bureau Reporting Codes: Codes for reporting account statuses to credit bureaus.
  • Note Category Reference: Flex-defined and Credit Union-defined note categories.