Hazel

Category: Core Connectors

Market: US

Overview

The Hazel connector allows credit unions to create and manage member accounts with multiple products (savings accounts, checking accounts). It integrates with the Hazel platform through AWS Step Functions to handle account creation and member lookup operations.

Endpoints

Endpoint Method Description
/hazel/v1/account/create POST Create a new account with products, primary applicant, additional users (joint owners), and optional debit cards.
/hazel/v1/member/search POST Search for existing members by Tax ID to prevent duplicate accounts and retrieve member information.

Create Account

POST /hazel/v1/account/create

Creates a new member account with one or more products (savings, checking), a primary applicant, optional additional users (joint owners), and optional debit cards.

Request Structure

Copy
{
  "applicationData": {
    "applicationId": "string (required)"
  },
  "productData": [
    {
      "id": "string",
      "productName": "string",
      "productIdentifier": "string (UUID)",
      "productType": "SavingsAccount|CheckingAccount",
      "productFundingAmount": "number",
      "createDebitCard": "string (true/false)",
      "plasticTypeCode": "string",
      "plasticCount": "number"
    }
  ],
  "creditCardData": {
    "creditLimitAmount": "number",
    "accountSystemId": "string",
    "accountPrincipalId": "string",
    "accountAgentId": "string"
  },
  "shareFundingData": {
    "externalFundingRoutingNumber": "string",
    "externalFundingAccountNumber": "string",
    "externalFundingAccountType": "string",
    "totalFundingAmount": "number"
  },
  "applicantData": {
    "membershipQuestionnaire": {
      "eligibilityQuestions": [],
      "customQuestions": []
    },
    "primaryApplicant": {
      "additionalDetails": {},
      "applicantName": {},
      "dateOfBirth": "string (YYYY-MM-DD)",
      "taxID": "string",
      "residencyData": {},
      "customerData": {},
      "creditData": {},
      "customerContactData": {}
    },
    "additionalUsers": []
  }
}
 

Sample Request

Copy
{
  "applicationData": {
    "applicationId": "UIC123456"
  },
  "productData": [
    {
      "id": "1",
      "productName": "UICCU SAVINGS",
      "productIdentifier": "FTOS-3b69274c-3170-4d79-b3df-0e3d89e9bae5",
      "productType": "SavingsAccount",
      "productFundingAmount": 5.0
    },
    {
      "id": "2",
      "productName": "UICCU CHECKING",
      "productIdentifier": "FTOS-3b69274c-3170-4d79-b3df-0e3d89e00000",
      "productType": "CheckingAccount",
      "productFundingAmount": 5.0,
      "createDebitCard": "true",
      "plasticTypeCode": "1",
      "plasticCount": 1.0
    }
  ],
  "shareFundingData": {
    "externalFundingRoutingNumber": "273082677",
    "externalFundingAccountNumber": "0004525",
    "externalFundingAccountType": "Checking",
    "totalFundingAmount": 10.0
  },
  "applicantData": {
    "primaryApplicant": {
      "applicantName": {
        "firstName": "JON",
        "lastName": "SMITH",
        "middleName": "A"
      },
      "dateOfBirth": "1996-10-20",
      "taxID": "666888732"
    },
    "additionalUsers": [
      {
        "applicantName": {
          "firstName": "JOAN",
          "lastName": "SMITH",
          "middleName": "A"
        },
        "dateOfBirth": "1997-03-20",
        "taxID": "666116839",
        "productData": [
          {
            "id": "2",
            "createDebitCard": "true",
            "plasticTypeCode": "1",
            "plasticCount": 1.0
          }
        ]
      }
    ]
  }
}

Sample Response

Copy
{
  "statusMessage": "Created",
  "executionId": "4e11bc0f-745b-49c8-a375-f47235d62b4d:d7aae451-36d0-4d50-8c97-4edbebccf205"
}

Member Search

POST /hazel/v1/member/search

Searches for existing members by Tax ID. Use this endpoint to prevent duplicate accounts and to retrieve member information before creating new accounts.

Request Structure

Copy
{
  "taxID": "string (required)",
  "taxIDType": "string (Individual/Business)",
  "productData": {
    "productIdentifier": "string (UUID)"
  },
  "internalUse": {
    "enableDebugLogging": "boolean"
  }
}

Sample Request

Copy
{
  "taxID": "123457898",
  "taxIDType": "Business",
  "productData": {
    "productIdentifier": "FTOS-84fe8105-d03b-4552-92df-7ab9a63f7445"
  },
  "internalUse": {
    "enableDebugLogging": true
  }
}

Sample Response

Copy
{
  "statusMessage": "OK",
  "executionId": "arn:aws:states:us-east-2:573599790656:express:pscu-lending-search-state-test:710bc192-f265-4395-ba42-1d5ca0325032",
  "responseText": {
    "customerData": {
      "member": {
        "memberID": "0001389648",
        "memberPersonId": "0001389648"
      },
      "address": {
        "city": "GREAT FALLS",
        "state": "MT",
        "street": "26 CUB DR",
        "zipCode": "59404"
      },
      "email": {
        "emailAddress": "patty.ehrhardt@gmail.com"
      },
      "person": {
        "firstName": "PATRICIA",
        "lastName": "EHRHARDT"
      },
      "phone": {
        "homePhone": "406-868-7245"
      },
      "warningCodes": [
        {
          "entryId": "1",
          "warningCode": "17",
          "warningExpiration": "2026-08-28"
        }
      ]
    }
  }
}

Error Codes

Status Meaning Example
400 Bad Request - Validation error "Product data is required" or "Applicant data is required"
404 Not Found - The requested API endpoint does not exist "The requested API endpoint does not exist"
500 Internal Server Error "The server encountered an internal error or misconfiguration and was unable to complete your request"

Error Response Format

Copy
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Product data is required"
}