Skip to main content

HELOC Inquiries

Welcome to Figures's HELOC Inquiries API guide. This documentation provides all the necessary information for integrating and utilizing our Home Equity Line of Credit (HELOC) API, designed to streamline the inquiry process for partner systems.

Overview

The HELOC Inquiries API allows you to initiate and manage HELOC inquiries efficiently. It offers the following capabilities:

  • Start Inquiry: Initiate a HELOC inquiry by submitting applicant and property information. This prefilled data is used to generate potential offers.
  • Generate Offers: Based on the provided data, the system will generate and return a set of offers.
  • Select Offer: Once offers are generated, select an appropriate offer to proceed with the application.
  • Fetch Inquiry Details: Retrieve detailed information about an ongoing or completed inquiry at any point in the process.
  • Resolve Unhappy Paths: Handle various issues such as credit matching, lien verification, and additional income asset submission to ensure smooth processing of the inquiry.

The following sequence diagram illustrates the typical flow of a HELOC inquiry using the API:

HELOC Inquiry Flow

Webhooks

Inquiries progress through several processing events. During onboarding, Figure can configure a webhook to receive notifications at key phases of the inquiry lifecycle. When the processing has completed and the next nextInquiryStepType is ready, Figure will send a webhook to the configured URL with the following payload. Figure will notify the partner via a POST webhook when ready to proceed. Webhook responses will specify the next action to take or when the inquiry has been transferred to the borrower.

Payload
{
"applicationUuid": string, // uuid
"loanOriginatorNmls": string,
"productType": string,
"eventTimestamp": string,
"nextInquiryStepType": string
}

After you have received a webhook event, you are able to use Fetch App/Inquiry Details to get the updated inquiry information and trigger necessary workflows in your system to move the user forward in the inquiry process.

Partner Endpoint Requirements

Webhooks are delivered via HTTP POST to the URL you provide during onboarding.

Your endpoint should return a 200 OK status to acknowledge receipt. If a non-2xx response is returned or the endpoint is unreachable, Figure will retry delivery several times with exponential backoff.

Webhook Examples

The webhooks can be delivered encrypted or unencrypted depending on preference.

Unencrypted Webook Payload
{
"applicationUuid":"82f5176b-7dbf-4f37-b40d-6e9580f3d4f1",
"loanOriginatorNmls":"NMLS_1234",
"productType":"HELOC",
"eventTimestamp":"2025-06-26T12:54:16.726009161Z",
"nextInquiryStepType":"OFFERS_AVAILABLE"
}

If encryption is desired, we will require a public key to encrypt the message with. The payload will be a string payload that is able to be decrypted using your matching private key. More information on decryption can be seen here.

Encrypted Webook Payload
eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.qNAYpqG_t9ujLWt3_Jv7P82WZ7_hU0UvTHyzSMah7v68k_CfKydgC-w8dDQcYpAqjOtYpAmgQrAJT4-ipdCDkMqwgX7rSbgbBqEYBNLkvkiNfHrhKE4HCDywaTdiZmCnsjVGfEkNAkf1KvLNNWGcc_arvQdGqzoMI61cgZXJfuOfWnsDUWdXtckQaiBP3JL9yQv_p16jhVamgQYXTtXz5IlLDL4TS6gSGnZ7hRRZI3JGC0eQHCzDXuY_mF0Tfd89Z5QgMjiHrUaMEw60sTkKSW_NyNG62D5T6STNgKk6w6GsB3bpn4m1kiyQ7cxkraHCJyOOWQ80NK9EGu0A3g0ATg.aCUl2PDUPTvFBSHF.Gd3VxWjTGGK6tCqSnXhMDZ90BvM9Qv9vJOAqGiajjwTV_HSN7LVVxJ1R5NSloO8slgHNiZRy-dbL8wfY3BdfsixemFd1BeM9Pov_QJMb7GYRayza1WF96eHGtWE-pgILzR3SGMfxgFFGVCbiKTCU8KEymL5xH5eN6YLaKbCKxq2LHRaa3dU590ChaG1kIBf7x8-iGWH89vAB45YtutQRR340lm2jpCj3_6gX-tP40pkFUDE6yBtEDQeTgvC0W7xf6sLo3WTJeg.q_wQXu0TaxbjfGdbxtJlhQ

Create an Inquiry

A partner can create an inquiry ( created by a loan officer) to prefill borrower information and potentially test different scenarios before a legal application is started.

Creating an inquiry begins by prefilling some applicant and property information. The system uses this data for further processing before presenting offers to the user.

tip

Fields in the request/response that are colored yellowgreen are optional.

Request:

This endpoint requires an encrypted payload. The incoming payload should match the following format:

URL
POST https://api.figure.com/products/heloc/v1/inquiry/start
Payload
{
"encrypted": string // encrypted PII payload
}

When decrypted, the encrypted field of the payload should match the following format:

Decrypted Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"applicant": {
"name": {
"firstName": string,
"lastName": string,
"prefix": string,
"middleName": string,
"suffix": string
},
"dob": string, // YYYY-MM-DD
"phone": string,
"email": string,
"ssn": string, // nnn-nn-nnnn format
"homeAddress": {
"street1": string,
"street2": string, // apt # or other street identifier
"city": string,
"state": string, // 2-letter state code
"zip": string
},
"income": {
"employmentType": string, // enum EmploymentType
"grossAnnualIncome": number,
"otherAnnualIncome": number,
"annualRetirementIncome": number,
"annualInvestmentIncome": number,
"savingsAmount": number,
"otherAnnualIncome": number
}
},
"property": {
"address": {
"street1": string,
"street2": string, // apt # or other street identifier
"city": string,
"state": string, // 2-letter state code
"zip": string
},
"occupancyType": string, // enum OccupancyType
"propertyType": string, // enum PropertyType
"isListedForSale": boolean,
"borrowerEstimatedValue": number,
"liens": [
{
"originationDate": string, // YYYY-MM-DD
"lenderName": string,
"originalBalance": number,
"currentBalance": number,
"monthlyPayment": number
}
]
},
"partnerDataRequest": {
"externalAppId": string,
"utmParameters": {
"source": string,
"medium": string,
"campaign": string,
"term": string,
"content": string
},
}
}

The optional partnerDataRequest block can be used to capture partner-specific data for reference on the Figure application. For example, utmParameters can be utilized for tracking marketing campaigns. These will be aggregated in data reports.

Response:

Payload
{
"appUuid": string // UUID format
}

The generated inquiry/app UUID will be returned in the contextual data of the response. This UUID will be required when submitting requests to all other endpoints.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Select an Offer

After creating an inquiry, underwriting and other background processes will run. When processing is complete, the borrower must select an offer to proceed with the application.

Request:

URL
PUT https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/select-offer
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"offer": {
"offerUuid": string, // UUID format
"selectedOfferAmount": number,
"selectedDiscounts": [
string
] // partner-specific enum
}
}

The offerUuid must match an offer that was previously supplied by a Fetch App/Inquiry Details response.

The selectedDiscounts must match a provided type from the available offers or will be ignored.

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Cancel Inquiry

If a borrower chooses not to proceed with the HELOC after reviewing the offers or if their financial situation changes, you may want to cancel the inquiry. Please note that once the inquiry has been converted into a full application, it can not be canceled. In such cases, the borrower will need to contact Figure support directly for assistance.

Request:

URL
PUT https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/cancel
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
}
}

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Set Attributions

Marketing and other external attributions can be set at any time in the flow.

All fields in the attributions request are optional; any fields not specified will remain unchanged from prior values. To un-set an existing attribution, simply provide the key to update set as null.

The API does not require this endpoint to be used; partners may use any of this information to link data with their own systems.

Request:

URL
PATCH https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/attributions
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"attributions": {
"utmParameters": {
"source": string,
"medium": string,
"campaign": string,
"term": string,
"content": string,
},
"externalReferenceData": {
"externalApplicationId": string,
"externalReferenceId": string,
}
}
}

Response:

No contextual data in the response.

Fetch App/Inquiry Details

Anywhere in the flow of an inquiry or app, the existing details can be fetched for processing or display.

Any of these fields may be null, depending on whether data is yet available.

Additionally, the app/inquiry details are returned as a response to other requests when synchronous requests are made.

Request:

URL
GET https://api.figure.com/products/heloc/v1/details/{appUuid}

By default, certain sections of the response payload are omitted for privacy and security. To request these additional sections, use the include query parameter in your request. The following values are supported:

  • CONDITIONS
  • FUNDING_REPORT
  • BORROWER_DETAILS

You may specify one or more values, using either repeated parameters or a comma-separated list.

For example:

?include=CONDITIONS&include=FUNDING_REPORT
?include=FUNDING_REPORT,CONDITIONS

Response:

Payload
{
"appUuid": string, // UUID format
"appShortId": string, // User-friendly ID
"borrowerAppLink": string,
"appData": {
"isInquiry": boolean,
"isBridgeLoan": boolean,
"startedAsInquiry": boolean,
"autopay": boolean,
"status": string,
"overallStatus": string,
"nextInquiryStep": string, // enum NextInquiryStepType
"keyDates": {
"createdDate": string, // YYYY-MM-DD format
"expirationDate": string, // YYYY-MM-DD format
"recissionEndDate": string, // YYYY-MM-DD format
"signingDate": string, // YYYY-MM-DD format
"completedDate": string, // YYYY-MM-DD format
"canceledDate": string, // YYYY-MM-DD format
"declinedDate": string, // YYYY-MM-DD format
"summaryDisclosureDate": string, // YYYY-MM-DD format
"productAgreementESignedTimestamp": string, // YYYY-MM-DD format
"firstPaymentDueDate": string, // YYYY-MM-DD
"expectedPayoffDate": string // YYYY-MM-DD
},
"propertyAddress": {
"street1": string,
"street2": string, // apt # or other street identifier
"city": string,
"state": string, // 2-letter state code
"zip": string
},
"propertyDetails" {
"county": string,
"propertyType": string, // enum PropertyType
"corelogicPropertyId": string,
"propertyUuid": string, // UUID format
"lotSquareFeet": number,
"propertyFloodZone": string,
"landUseDescription": string,
"landUseCode": string,
"buildingGrossArea": number,
"propertyAcres": number,
},
"statusReasons": [
string
],
"costs": {
"fixedCosts": [
{
"type": string, // enum CostType
"borrowerPaidAmount": number
}
...
]
"dynmaicCosts": [
... // same as fixedCosts
]
},
"ddpDetails": {
"paidLiabilityPayoffAmount": number,
"totalLiabilityPayoffAmount": number,
"liabilityPayoffAllocatedAmountDtiImpacting": number,
"liabilityPayoffAllocatedAmountNonDtiImpacting": number,
"lienPositionAfterPayoff": number,
},
"borrowerDetails": {
"primary": {
"identityUuid": string, // UUID format
"email": string,
"firstName": string,
"middleName": string,
"lastName": string,
"dob": string, // YYYY-MM-DD format
"address": {
"street1": string,
"street2": string, // apt # or other street identifier
"city": string,
"state": string, // 2-letter state code
"zip": string
},
"phoneNumber": string,
},
"additionalSigners": [
{
... // Same as primary
}
]
},
"statusHistory": [
{
"overallStatus": string,
"status": string,
"timestamp": string // YYYY-MM-DD format
}
...
],
"conditions": [{
{
"active": boolean,
"name": string,
"createdDate": string, // YYYY-MM-DD format
"lastUpdateDate": string // YYYY-MM-DD format
}
...
}],
"demographics": {
"hispanicOrLatinoEthnicityType": boolean,
"ethnicityRefusal": boolean,
"otherEthnicityDescription": boolean,
"genderRefusal": boolean,
"raceRefusal": boolean,
"raceAsianAdditionalDescription": boolean,
"racePacificIslanderAdditionalDescription": boolean,
"ethnicityCollectedBasedOnVisualObservationOrSurname": boolean,
"genderCollectedBasedOnVisualObservationOrName": boolean,
"raceCollectedBasedOnVisualObservationOrSurname": boolean,
"tribeName": string,
"notHispanicOrLatino": boolean,
"ethnicityOriginTypes": [
string
],
"genderTypes": [
string
],
"raceTypes": [
string
],
"raceDesignationTypes": [
string
]
},
"thirdPartyIntegrations": {
"externalPartnerApplicationId": string,
"externalPartnerReferenceId": string
},
"fundingTransactionReport": {
"transactions": [
{
"id": string,
"amount": number,
"initiatedAt": string, // YYYY-MM-DD format
"effectiveDate": string, // YYYY-MM-DD format
"paymentRail": string, // enum PaymentRailType
"status": string, // enum FundingTransactionStatusType
"messageUuid": string, // UUID format
"sentAt": string, // YYYY-MM-DD format
"batchingCategory": string
}
...
]
},
"ownershipType": string, // enum OwnershipType
"financingPurpose": string, // enum FinancingPurposeType
"propertyLiens": [
{
"lienUuid": string, // UUID format
"originationDate": string, // YYYY-MM-DD
"lenderName": string,
"originalBalance": number,
"currentBalance": number,
"monthlyPayment": number,
"lienPosition": number
},
...
],
"underwriting": {
"decision": string,
"minOfferAmount": number,
"maxOfferAmount": number,
"minOfferRate": number,
"maxOfferRate": number,
"softCredit": {
"provider": string, // enum UnderwritingCreditProvider
"score": number,
"timestamp": string // YYYY-MM-DD
},
"hardCredit": {
... // Same as softCredit
},
"monthlyIncome": number,
"statedMonthlyIncome": number,
"preLoanDti": number,
"postLoanDti": number,
"statedDti": number,
"coDeedStatus": string, //enum CoDeedStatusType
"floodInsured": boolean,
"homeownersInsured": boolean,
"employmentType": string,
"homeForSaleMlsResponse": boolean,
"homeForSaleBorrowerAttested": boolean,
"pricingAsOfDate": string, // YYYY-MM-DD
"creditAsOfDate": string, // YYYY-MM-DD
"offers": [
{
"uuid": string, // UUID format
"minAmount": number,
"maxAmount": number,
"rate": number,
"primeRate": number,
"term": number,
"rateType": string, // enum OfferRateType
"originationFeePercent": number,
"discountList": [
{
"type": string, // partner-specific enum
"rateDiscountAmount": number
}
]
},
...
],
"selectedOffer": {
"offerUuid": string, // UUID format
"loanAmount": number,
"drawAmount": number,
"estimatedMonthlyPayment": number,
"rate": number,
"primeRate": number,
"term": number,
"rateType": string, // enum OfferRateType
"originationFeePercent": number,
"selectedDiscounts": [
{
"type": string, // partner-specific enum
"rateDiscountAmount": number
}
]
}
},
"propertyValue": {
"borrowerEstimatedValue": number,
"propertyAvmValue": number,
"preLoanCltv": number,
"postLoanCltv": number,
"preLoanAdjCltv": number,
"postLoanAdjCltv": number,
"postLoanAdjMinCltv": number
},
"notary": {
"type": string, // enum NotaryType
"fee": number,
"appointmentDate": number, // YYYY-MM-DD
"completedDate": number // YYYY-MM-DD
}
},
"loanOriginatorData": {
"loanOriginatorUuid": string, // UUID format
"brokerUuid": string, // UUID format
"nmls": string,
"externalId": string,
"companyDbaName": string,
"licenses": { // Each sub-object follows a common license format
"lenderLicense": {
"licenseHolder": {
"type": string, // enum LicenseHolderType
"uuid": string, // UUID format
"name": string,
"nmls": string
},
"stateLicense": {
"type": string, // enum LicenseStateType
"uuid": string, // UUID format
"licenseNumber": string,
"licenseName": string,
"state": string // 2-letter state code
}
},
"loanOriginatorLicense": {
... // Same as lenderLicense
},
"brokerLicense": {
... // Same as lenderLicense
}
}
}
}
Attention

Note that borrower information is not returned with the application details, to avoid transmitting PII.

Handling Unhappy Paths

There are several possible roadblocks that an inquiry may encounter before being able to generate offers. The following endpoints can be used when indicated to manually resolve various issues.

Submit SSN

In the initial inquiry creation request, submitting the borrower’s SSN is optional.

However, if we are unable to make a soft credit match to an individual, we may ask for the SSN to help resolve the match. No hard credit pull will be applied at this time.

This unhappy path will be indicated by a NextInquiryStepType=CREDIT_MATCH_REQUIRED.

Request:

This endpoint requires an encrypted payload. The incoming payload should match the following format:

URL
PUT https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/add-ssn
Payload
{
"encrypted": string // encrypted PII payload
}

When decrypted, the encrypted field of the payload should match the following format:

Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"applicant": {
"ssn": string // nnn-nn-nnnn format
}
}

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Credit Frozen

After submitting the initial inquiry creation request, the applicant's credit may be inaccesible due to frozen credit.

This unhappy path will be indicated by a NextInquiryStepType=UNFREEZE_CREDIT.

Request:

URL
POST https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/repull-credit
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
}
}

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Verify Outstanding Liens

After submitting the initial inquiry creation request, underwriting may not be able to proceed before resolving potential liens on the property.

Existing liens detected by our system are available from the common Fetch App/Inquiry Details request.

This unhappy path will be indicated by a NextInquiryStepType=LIEN_MATCHING_REQUIRED.

Request:

URL
PUT https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/verify-liens
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"liens": [
{
"originationDate": string, // YYYY-MM-DD
"originalBalance": number,
"lienUuid": string, // UUID format
"lenderName": string,
"currentBalance": number,
"monthlyPayment": number
}
]
}

The lienUuid field, if supplied, should match a lien that was previously supplied by a Figure response. Liens manually added do not need to supply a lienUuid.

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Add More Income Assets

A borrower may not be given offers based on income assets submitted with the initial inquiry creation request.

Previously entered income details are available from the common Fetch App/Inquiry Details request, if not stored on the partner system.

This unhappy path will be indicated by a NextInquiryStepType=MORE_ASSETS_REQUIRED.

Request:

URL
PUT https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/add-income
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"income": {
"employmentType": string, // enum EmploymentType
"grossAnnualIncome": number,
"annualRetirementIncome": number,
"annualInvestmentIncome": number,
"savingsAmount": number,
"otherAnnualIncome": number
}
}

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Set Estimated Property Value

A borrower may not be given offers with the initial inquiry creation request if a BPO is required without providing an estimated property value.

This unhappy path will be indicated by a NextInquiryStepType=PROPERTY_VALUE_REQUIRED.

Request:

URL
PUT https://api.figure.com/products/heloc/v1/inquiry/{appUuid}/add-property-estimate
Payload
{
"request": {
"loanOriginatorUuid": string, // UUID format
},
"propertyEstimate": {
"borrowerEstimatedValue": number
}
}

Response:

No contextual data in the response.

At this point, background processing will have started. When the inquiry processing has completed and the next step is ready, the partner will be notified via a webhook (if configured).

Enum Types

A variety of enum types are specified in the payloads listed above. For simplification, all enum types are defined here.

Enum type definitions should be considered non-exhaustive and may be subject to extension.

EmploymentType

enum EmploymentType {
UNKNOWN,
SELF_EMPLOYED,
OTHER,
FULL_TIME,
PART_TIME,
RETIRED,
UNEMPLOYED,
SEPARATE_MAINTENANCE_PAYMENTS,
}

OccupancyType

enum OccupancyType {
UNKNOWN,
SOLD,
PENDING_SALE,
RENTAL,
PRIMARY_RESIDENCE,
SECONDARY_RESIDENCE,
INVESTMENT,
OTHER,
RETAINED,
}

PropertyType

enum PropertyType {
UNKNOWN,
PRIMARY,
SECONDARY,
INVESTMENT,
}

NextInquiryStepType

enum NextInquiryStepType {
UNKNOWN,
NO_OFFERS,
OFFERS_AVAILABLE,
BORROWER_AUTH_REQUIRED, // The borrower needs to log into Figure
BROKER_DOC_SIGNING_REQUIRED, // The borrower has logged into Figure but needs to sign broker docs agreement
INQUIRY_COMPLETE,
INQUIRY_CLOSED, // The inquiry has been closed through a manual action. e.g. cancellation
INQUIRY_WITHDRAWN, // The inquiry is no longer active through an automated process. e.g. expired

// Unhappy paths follow
CREDIT_MATCH_REQUIRED, // requires resolution or treat as NO_OFFERS
MORE_ASSETS_REQUIRED, // requires resolution or treat as NO_OFFERS
LIEN_MATCHING_REQUIRED, // requires resolution or treat as NO_OFFERS
PROPERTY_VALUE_REQUIRED, // requires resolution or treat as NO_OFFERS
PAYOFF_REQUIRED, // requires resolution or treat as NO_OFFERS
UNFREEZE_CREDIT, // requires resolution or treat as NO_OFFERS
}

OwnershipType

enum OwnershipType {
UNKNOWN,
SOLE,
JOINT,
TRUST,
LLC,
OTHER,
}

FinancingPurposeType

enum FinancingPurposeType {
UNKNOWN,
PERSONAL,
BUSINESS_OR_COMMERCIAL,
}

OfferRateType

enum OfferRateType {
UNKNOWN,
FIXED,
FLOATING,
}

LicenseHolderType

enum LicenseHolderType {
UNKNOWN,
LENDER,
BROKER,
LOAN_OFFICER,
}

LicenseStateType

enum LicenseStateType {
UNKNOWN,
UNSPECIFIED,
FEDERAL_LICENSE,
CA_RMLA_STATE_LICENSE,
CA_CFL_STATE_LICENSE,
CA_DRE_STATE_LICENSE,
}

CostType

enum CostType {
NOTARY_FEE,
RECORDING_TAX,
TITLE_FEE,
BPO_FEE,
DRIVE_BY_VALUATION_FEE,
ONSITE_APPRAISAL_FEE,
}

CoDeedStatusType

enum CoDeedStatusType {
INITIAL,
IN_PROGRESS,
COMPLETE,
}

UnderwritingCreditProvider

enum UnderwritingCreditProvider {
EXPERIAN,
TRANS_UNION,
}

NotaryType

enum NotaryType {
NOT_APPLICABLE,
ELECTRONIC,
MANUAL,
}

PropertyType

enum PropertyType {
PRIMARY,
SECONDARY,
INVESTMENT,
}

PaymentRailType

enum PaymentRailType {
ACH,
WIRE,
}

FundingTransactionStatusType

enum FundingTransactionStatusType {
PENDING,
SENT,
COMPLETE,
CANCELLED,
EXCEPTION,
RETURNED,
NOC,
REQUIRES_APPROVAL,
}

EthnicityOriginType

enum EthnicityOriginType {
CUBAN,
MEXICAN,
PUERTO_RICAN,
OTHER
}

GenderType

enum GenderType {
BOTH_MALE_AND_FEMALE,
FEMALE,
MALE
}

RaceType

enum RaceType {
AMERICAN_INDIAN_OR_ALASKA_NATIVE,
ASIAN,
BLACK_OR_AFRICAN_AMERICAN,
NATIVE_HAWAIIAN_OR_OTHER_ISLANDER,
WHITE
}

RaceDesignationType

enum RaceDesignationType {
ASIAN_INDIAN,
CHINESE,
FILIPINO,
GUAMANIAN_OR_CHAMORRO,
JAPANESE,
KOREAN,
NATIVE_HAWAIIAN,
OTHER_ASIAN,
OTHER_PACIFIC_ISLANDER,
SAMOAN,
VIETNAMESE
}