FLEXBridge Account Management API

FLEXBridge 2025 FLEXBridge API Documents FLEXBridge Account Management API

This document provides comprehensive technical documentation for the FlexBridge Account Management API, a RESTful API designed for creating new member accounts within the Flex system (www.flexcutech.com). This API is crucial for third-party applications and internal systems that need to programmatically initiate and manage the new account opening process.

1. Introduction to FlexBridge Account Management API

The FlexBridge Account Management API is a core component of the FLEXBridge system, providing functions for creating new member accounts. It includes objects and attributes necessary for defining information about the Primary account holder, Joint Owners, Authorized Signers, and Beneficiaries. The process also facilitates the creation of the primary or base share suffix for the new account.

  • Available FLEX Releases: 8.05 and up
  • Account Management API Release: 1.467 and up

2. General API Information

  • RESTful API: Follows RESTful principles for communication.
  • Authentication: Requires built-in authentication via HTTP request headers. Refer to the FLEX Core System documentation for details on adding authentication headers.

3. Opening New Accounts: Endpoint Functions

The Account Management API offers two primary endpoint functions for opening new accounts:

  • Open Pending Account:
    • Purpose: Creates a pending member account. The Credit Union then completes the account opening process via the Flex system.
    • URL: https://{BASE_URL}/api/accountmanagement/openpendingaccount
  • Open New Member Account:
    • Purpose: Creates a new member account and a base share within the Credit Union’s database directly.
    • URL: https://{BASE_URL}/api/accountmanagement/openaccount
  • Note: Both openaccount and openpendingaccount endpoints utilize the same JSON objects and attributes for creating a member account.

4. Available Objects When Opening a New Member Account

When making a POST request to either of the new account endpoints, the JSON body will contain one or more of the following objects:

  • newAccountInfo (Required, Object):
    • Contains basic account information along with primary member entity information.
  • baseShareInfo (Required, Object):
    • Defines the initial base share (savings) suffix for the new account. Other suffixes (checking, money market) are added using the Share Service API.
  • employmentList (Optional, List):
    • Adds single or multiple employment records for the primary member.
  • jointOwners (Optional, List):
    • Adds single or multiple joint owner records to the member account.
  • authorizedSigners (Optional, List):
    • Adds single or multiple authorized signer records to the member account.
  • beneficiaries (Optional, List):
    • Adds single or multiple beneficiary records to the member account.
  • notes (Optional, List):
    • Adds single or multiple notes to the primary account holder’s record.

5. JSON Body Structure Examples

Here are examples of how the JSON body can be structured for POST requests to open new accounts:

  • Basic New Account with Joint Owners, Beneficiaries, and Notes:
    {
      “newAccountInfo”: {},
      “baseShareInfo”: {},
      “jointOwners”: [{}],
      “beneficiaries”: [{}],
      “notes”: [{}]
    }

  • Pending Account with Joint Owners, Authorized Signers, Beneficiaries, and Notes:
    {
      “newAccountInfo”: {},
      “baseShareInfo”: {},
      “jointOwners”: [{}],
      “authorizedSigners”: [{}],
      “beneficiaries”: [{}],
      “notes”: [{}]
    }

  • New Account with Employment List, Joint Owners, Authorized Signers, and Notes:
    {
      “newAccountInfo”: {},
      “employmentList”: [{}],
      “baseShareInfo”: {},
      “jointOwners”: [{}],
      “authorizedSigners”: [{}],
      “notes”: [{}]
    }

6. Detailed Object and Attribute Reference

6.1. newAccountInfo Object

This object is required and contains fundamental account and primary member information.

  • Attributes:
    • accountType (Required, String): Base account type (B=Business, I=Individual, O=Organization, N=Non-Profit, M=Non-Citizen). Max 1 char.
    • subAccountType (Optional, String): Additional account type info (e.g., C=Corporation, U=Custodial, E=Estate). Max 1 char.
    • branchCode (Optional, String): Branch code for the account. Max 2 chars.
    • statementCode (Required, String): Member’s preferred statement delivery method (Y=Yes, N=No, B=Both, E=Email Only). Max 1 char.
    • memberEligibility (Optional, String): Credit union defined eligibility. Max 10 chars.
    • accountSourceCode (Optional, String): Source of member acquisition. Max 3 chars.
    • accountDescription (Optional, String): Account description. Max 50 chars.
    • atmDebitOptIn (Optional, Boolean): Member subject to Regulation E settings.
    • atmDebitConfirmation (Optional, Boolean): Member received Reg E notice upon opting in.
    • forceNotes (Optional, String): Are account notes forced for viewing (Y=Yes, N=No). Max 1 char.
    • userDefinedFields (Optional, Object): Credit union defined fields (UDF01-UDF17).
    • entity (Required, Object): Primary account holder’s personal information.
    • addressUsages (Required, List): Physical mailing addresses.
    • emails (Optional, List): Email addresses. Required if statementCode is B or E.
    • creditScores (Optional, List): Credit score records.

6.2. userDefinedFields Object (for New Account Info and Base Share Info)

These fields are credit union-defined for tracking additional information.

  • Attributes (UDF01-UDF17):
    • UDF01 to UDF08 (Optional, String): Alphanumeric, max 38 chars.
    • UDF09 to UDF11 (Optional, Number): Numeric, max 11 chars (amount/balance).
    • UDF12 to UDF14 (Optional, Number): Numeric, max 6 chars (date tracking, no slashes).
    • UDF15 (Optional, Number): Numeric, max 9 chars (alternative SSN).
    • UDF16 (Optional, Number): Numeric, max 10 chars (alternative phone number).
    • UDF17 (Optional, Number): Numeric, max 11 chars (alternative amount).

6.3. entity Object (Primary Account Holder and Joint Owners)

Contains comprehensive information about the primary account holder or joint owner.

  • Attributes:
    • firstName (Required, String): Max 40 chars. Required if accountType is I or M.
    • middleName (Optional, String): Max 40 chars.
    • lastName (Required, String): Max 40 chars. Required if accountType is I or M.
    • nameSuffix (Optional, String): JR, SR, II, III, etc. Max 3 chars.
    • title (Optional, String): e.g., MD, PhD. Max 42 chars.
    • nickname (Optional, String): Max 42 chars.
    • name1 (Optional, String): Business/Organization/Non-Profit name. Max 100 chars. Required if accountType is B, O, or N.
    • additionalMailingLine (Optional, String): Max 40 chars.
    • taxName (Optional, String): Full name for tax forms. Max 40 chars.
    • taxId (Required, Number): Max 9 chars.
    • taxIdFormatCode (Required, String): T=EIN, S=SSN, I=ITIN. Max 1 char.
    • taxIdCertified (Required, Boolean): Is Tax ID certified.
    • stateTaxId (Optional, String): Max 40 chars.
    • birthDate (Required, Date – MM/DD/CCYY).
    • gender (Optional, String): F=Female, M=Male. Max 1 char.
    • driversLicenseNumber (Optional, String): Max 25 chars.
    • driversLicenseState (Optional, String): Max 2 chars.
    • mothersMaidenName (Optional, String): Max 40 chars.
    • maidenName (Optional, String): Max 42 chars.
    • securityQuestionCode (Optional, String): Max 4 chars.
    • securityQuestionAnswer (Optional, String): Max 32 chars.
    • deceased (Optional, Boolean): Is the member deceased.
    • deceasedDate (Optional, Date – MM/DD/CCYY).
    • disabled (Optional, Boolean): Is the member disabled.
    • bankruptcy (Optional, Boolean): Is the member in bankruptcy.
    • foreignCitizen (Optional, Boolean): Is the member a foreign citizen.
    • livingInForeignCountry (Optional, Boolean): Is the member living in a foreign country.
    • causedLoss (Optional, Boolean): Has the member caused a loss to the credit union.
    • insuranceEligible (Optional, Boolean): Is the member insurance eligible.
    • verifiedOFAC (Optional, String): Is the individual OFAC verified (Y=Yes, N=No). Max 1 char.
    • creditUnionEmployee (Optional, Boolean): Is the individual a credit union employee.
    • creditUnionEmployeeCode (Optional, String): Y=Yes, N=No, or Null. Max 1 char.
    • employerCode (Optional, String): Max 4 chars.
    • lendingLimit (Optional, Number): Max 9 chars.
    • phones (Required, List): Phone number records.
    • addresses (Optional, List): Secondary address records.
    • activeMilitary (Optional, Boolean): Is the member actively serving in military.

6.4. phones Object (Primary Member, Joint Owners, Authorized Signers, Beneficiaries)

Adds single or multiple phone number records.

  • Attributes:
    • areaCode (Required, Number): Max 3 chars.
    • number (Required, Number): Max 15 chars.
    • extension (Optional, Number): Max 10 chars.
    • countryCode (Optional, Number): Max 3 chars.
    • type (Required, String): H=Home, W=Work, C=Cell, O=Other. Max 1 char.
    • description (Optional, String): Max 50 chars.

6.5. addresses Object (Informational Addresses)

Adds single or multiple informational address records. Use addressUsages for physical mailing addresses.

  • Attributes:
    • city (Required, String): Max 50 chars.
    • country (Required, String): Max 3 chars.
    • line1 (Required, String): Max 50 chars.
    • line2 (Optional, String): Max 50 chars.
    • state (Required, String): Max 2 chars.
    • zipcode (Required, String): Max 10 chars.
    • zipcode4 (Optional, Number): Max 4 chars.
    • badAddressDate (Optional, Date – MM/DD/CCYY).
    • addressChangeDate (Optional, Date – MM/DD/CCYY).
    • lastUpdateDate (Optional, Date – MM/DD/CCYY).

6.6. addressUsages Object

Adds single or multiple physical mailing address records. One usage must be present per address.

  • Attributes: Same as addresses object, plus:
    • usages (Required, List of Strings): Indicates use for the address. Each usage can be used once per address.
      • Valid Options: R=Receipt, S=Statement, T=Tax, CS=Credit Card Statement, CI=Card Issue, P=Physical Address. Max 2 chars.

6.7. emails Object

Adds single or multiple email address records.

  • Attributes:
    • sequenceNumber (Optional, Number): Email ID sequence (1, 2, 3…). Required if multiple emails.
    • address (Required, String): Email address.
    • statements (Required, Boolean): Use for statements.
    • receipts (Required, Boolean): Use for receipts.
    • notices (Required, Boolean): Use for NSF notices.
    • creditCardStatements (Required, Boolean): Use for in-house credit card statements.
    • mailings (Required, Boolean): Use for mailers.
    • alerts (Required, Boolean): Use for eAlerts.
    • helocStatements (Required, Boolean): Use for HELOC statements.
    • newsletters (Required, Boolean): Use for newsletters.
    • badAddress (Required, Boolean): Is the email address invalid.

6.8. creditScores Object

Adds single or multiple credit report records.

  • Attributes:
    • processorType (Optional/Required, String): Credit bureau processor code (EQ, EX, TU, HS, BC). Max 2 chars.
    • scoreType (Optional/Required, String): Credit bureau report code. Max 2 chars.
    • scoreDate (Optional/Required, Date – MM/DD/CCYY).
    • score (Optional/Required, Number): Credit score. Max 5 chars.
    • grade (Optional/Required, String): Credit union defined grade. Max 3 chars.

6.9. baseShareInfo Object

Required for all new account requests, creating the primary savings suffix.

  • Attributes:
    • shareType (Required, String): Credit union defined share type. Max 2 chars.
    • description (Optional, String): Base share description. Max 2 chars.
    • openedDate (Optional, Date – MM/DD/CCYY): Open date of base share.
    • insuranceEligible (Optional, Boolean): Is individual insurance eligible.
    • excessiveWithdrawlFee (Optional, Boolean): Charge excessive withdrawal fee.
    • excessiveWithdrawalFeeCode (Optional, Boolean): Member eligible for excessive withdrawal fee (Y, N, E). Max 1 char.
    • dividendDisburseOption (Optional, String): Dividend/Annual disbursement option (C=Check, T=Transfer, or blank). Max 1 char.
    • whereToPayDividendAccount (Optional/Required, Number): Account for dividend payout. Max 9 chars. Required if dividendDisburseOption is T.
    • whereToPayDividendSuffix (Optional/Required, Number): Suffix for dividend payout. Max 9 chars. Required if dividendDisburseOption is T.
    • federalWithholdingCode (Optional, String): Y=Yes, N=No. Max 1 char.
    • crossReferenceNumber (Optional, Number): MICR. Max 16 chars.
    • openingTeller (Required, String): Teller ID opening account/share. Max 4 chars.
    • allowPriorityTypeChange (Optional, Boolean): Suffix included in share type priority changes.
    • allowDailyNegativeFees (Optional, Boolean): Charge daily negative balance fees.
    • regulationEOptIn (Optional, Boolean): Suffix opted into Regulation E.
    • regulationENoticeDate (Optional, Date – MM/DD/CCYY).
    • reasonForREGEOPTIN (Optional, String).
    • courtesyPayAllowed (Optional, Boolean).
    • cpEnrollmentDate (Optional, Date – MM/DD/CCYY).
    • availableCourtesyPay (Optional, Number): Max 9 chars.
    • lastCorrespondenceDate (Optional, Date – MM/DD/CCYY).
    • defaultOverDraftCode (Optional, Number): Overdraft code (0-5). Max 1 char.
    • defaultOverdraftShareSuffix (Optional/Required, Number): Max 3 chars. Required if defaultOverDraftCode is 1, 3, or 4.
    • defaultOverdraftLoanSuffix (Optional/Required, Number): Max 3 chars. Required if defaultOverDraftCode is 2, 3, or 4.
    • overdraftInformationList (Optional/Required, List): Required if defaultOverDraftCode is 5.
    • transferOrCheckCode (Optional, String): Annual disbursement option (T=Transfer, C=Check). Max 1 char.
    • transferAccount (Optional/Required, Number): Max 9 chars. Required if transferOrCheckCode is T.
    • transferSuffix (Optional/Required, Number): Max 3 chars.
    • Required if transferOrCheckCode is T.
    • dormancyDate (Optional, Date – MM/DD/CCYY).
    • frozen (Optional, Boolean): Is suffix frozen.
    • chargeOffCode (Optional, String): Max 2 chars.
    • chargedOffAmount (Optional, Number): Max 9 chars.
    • lastUpdateDate (Optional, Date – MM/DD/CCYY).
    • userDefinedFields (Optional, Object).

6.10. overdraftInformationList Object

Defines preferred overdrafting sequence when defaultOverDraftCode is 5.

  • Attributes:
    • sequenceNumber (Optional/Required, Number): Sequence order (starts with 1). Max 1 char.
    • overdraftAccountNumber (Optional/Required, Number): Max 9 chars.
    • overdraftSuffix (Optional/Required, Number): Max 3 chars.

6.11. employmentList Object

Adds single or multiple employment records.

  • Attributes:
    • startDate (Optional, Date – MM/DD/CCYY).
    • endDate (Optional, Date – MM/DD/CCYY).
    • titlePosition (Optional, String): Max 32 chars.
    • fullOrPartTime (Optional, String): F=Full time, P=Part-time, O=Other. Max 1 char.
    • basePay (Optional, Number): Max 14 chars.
    • payFrequency (Optional, String): W=Weekly, B=Bi-weekly, F=Semi-monthly, M=Monthly, Q=Quarterly, S=Semi-annually, A=Annually. Max 1 char.
    • commentLine1 to commentLine4 (Optional, String): Max 78 chars each.
    • employer (Required, Object): Employer information.

6.12. employer Object

Holds employer information.

  • Attributes:
    • employerName (Optional/Required, String): Max 32 chars.
    • contactName (Optional, String): Max 32 chars.
    • contactPhone (Optional, Number): Max 11 chars.
    • contactExtension (Optional, String): Max 5 chars.
    • addressLine1 (Optional, String): Max 32 chars.
    • addressLine2 (Optional, String): Max 32 chars.
    • city (Optional, String): Max 32 chars.
    • state (Optional, String): Max 2 chars.
    • zipCode (Optional, Number): Max 5 chars.
    • zipCodeExtension (Optional, Number): Max 4 chars.

6.13. jointOwners Object

Allows for single or multiple joint owner records.

  • Attributes:
    • entity (Required, Object): Joint Owner entity information (same as primary member entity).
    • address (Required, Object): Joint Owner physical mailing address.
    • sendCollectionLetter (Optional, Boolean): Send collection letters to Joint Owner.
    • relationshipToPrimaryEntity (Optional, String): Joint Owner relationship to Primary Member. Max 4 chars.
    • emailAddress (Optional, String): Max 128 chars.
    • suffixList (Optional, List of Numbers): Joint Owner’s account/suffix access. [] or [0] for full access, [1] for base share. Max 1 char.
    • rightOfSurviorship (Optional, Boolean): Joint Owner has survivorship rights.
    • mobileAccess (Optional, String): Allowed internet banking access (Y, N, or Null).

6.14. authorizedSigners Object

Allows for single or multiple authorized signer records.

  • Attributes:
    • emailAddress (Optional, String): Max 128 chars.
    • firstName (Required, String): Max 40 chars.
    • middleName (Optional, String): Max 40 chars.
    • lastName (Required, String): Max 40 chars.
    • title (Optional, String): Max 42 chars.
    • nickname (Optional, String): Max 42 chars.
    • nameSuffix (Optional, String): Max 3 chars.
    • name1 (Optional, String): Business/Org/Non-Profit name. Max 102 chars.
    • additionalMailingLine (Optional, String): Max 40 chars.
    • taxName (Optional, String): Max 40 chars.
    • taxId (Required, Number): Max 9 chars.
    • taxIdFormatCode (Required, String): Max 1 char.
    • taxIdCertified (Required, Boolean).
    • stateTaxId (Optional, String): Max 40 chars.
    • birthDate (Required, Date – MM/DD/CCYY).
    • gender (Optional, String): Max 1 char.
    • driversLicenseNumber (Optional, String): Max 25 chars.
    • driversLicenseState (Optional, String): Max 2 chars.
    • mothersMaidenName (Optional, String): Max 40 chars.
    • deceased (Optional, Boolean).
    • deceasedDate (Optional, Date – MM/DD/CCYY).
    • disabled (Optional, Boolean).
    • bankruptcy (Optional, Boolean).
    • activeMilitary (Optional, Boolean).
    • foreignCitizen (Optional, Boolean).
    • livingInForeignCountry (Optional, Boolean).
    • causedLoss (Optional, Boolean).
    • verifiedOFAC (Optional, String): Max 1 char.
    • creditUnionEmployee (Optional, Boolean).
    • creditUnionEmployeeCode (Optional, String): Max 1 char.
    • employerCode (Optional, String): Max 4 chars.
    • address (Required, Object): Physical mailing address.
    • info (Optional, Object): Relationship to Primary Member and other flags.
    • securityQuestion (Optional, Object): Security information.
    • phones (Required, List).
    • addresses (Optional, List): Secondary address information.

6.15. beneficiaries Object

Allows for single or multiple beneficiaries.

  • Attributes: Similar to authorizedSigners attributes, plus:
    • suffixList (Optional, Number): Beneficiary account suffix access. 0 for all access, 1 for base share only.
    • info (Optional, Object): Relationship to Primary Member, mobile access, and death payout percentage.

6.16. notes Object

Adds single or multiple notes to the account.

  • Attributes:
    • subject (Required, String): Max 250 chars.
    • text (Required, String): Max 4500 chars.
    • noteCategory (Required, Number): FLEX defined (1-6). Max 1 char.
    • notePriority (Required, Number): FLEX defined (1=Informational, 2=Warning, 3=Critical). Max 1 char.
    • noteReason (Optional, Number): Credit union defined numeric value. Max 10 chars.
    • creationDate (Optional, Date – MM/DD/CCYY).
    • teller (Optional, String): Teller ID. Max 10 chars.
    • expirationDate (Optional, Date – MM/DD/CCYY).
    • lastModifiedDate (Optional, Date – MM/DD/CCYY).

7. New Account Response

Upon successful creation of a new account, the API returns the accountNumber.

  • Response Object:
    {
      “accountNumber”: 30161 // Member account number opened
    }

8. HTTPS Status Code 500 Error and Validation Checks

Flex provides additional information in 500 HTTP Status Code errors for troubleshooting.

  • Common Error Messages:
    • “Internal server error – Suffix 001 is not defined.”: Base Share Type value not configured.
    • “Internal server error – Address usage does not exist”: Invalid address usage value.
    • “Internal server error – Base share type is required”: Base Share Type value is blank or invalid.

9. Appendix (Key Reference Lists)

The document includes various code lists for reference:

  • Pre-Decision Information: Attributes from Account Inquiry API for pre-decisioning.
  • Type Groups: Base Share Group Codes.
  • Relationship to Primary Member Examples: Codes for common relationships (e.g., AU=Aunt, WI=Wife).
  • Charge Off Codes: Codes for account charge-offs.
  • Account Suffix Access Information: Details on suffix access for different association types.