Fat Agent Standard / Core Objects

v1.0

Person

Represents a human individual within Fat Agent Standard.

A Person exists once. Roles such as insured, owner, beneficiary, driver, payer, annuitant, claimant, or authorized signer are relationships to other objects and MUST NOT create duplicate Person records.

Identity

FieldTypeRequiredDescription
person_idstringYes

Unique identifier for the Person

first_namestringYes

Legal first name

middle_namestringNo

Legal middle name

last_namestringYes

Legal last name

suffixstringNo

Name suffix such as Jr., Sr., II, III

preferred_namestringNo

Preferred or commonly used first name

date_of_birthstring (date)No

Date of birth in YYYY-MM-DD format

genderenumNo

Gender value

Allowed: male, female, unknown

ssnstringNo

U.S. Social Security Number

Contact — Phones

phones is an optional array.

FieldTypeRequiredDescription
typeenumYes

Type of phone number

Allowed: mobile, home, work, other

type_descriptionstringYes*

Custom value when type is other. Required when type is other. MUST NOT be set otherwise.

numberstringYes

Phone number

extensionstringNo

Phone extension

Contact — Emails

emails is an optional array.

FieldTypeRequiredDescription
typeenumYes

Type of email address

Allowed: personal, work, other

type_descriptionstringYes*

Custom value when type is other. Required when type is other. MUST NOT be set otherwise.

addressstring (email)Yes

Email address

Addresses

addresses is an optional array of references. Each item contains address_id, type, and type_description when type is other. The Address schema is defined on the Address object and MUST NOT be duplicated here.

FieldTypeRequiredDescription
address_idstringYes

ID of the related Address object

typeenumYes

Person's relationship to the address

Allowed: residence, mailing, previous, other

type_descriptionstringYes*

Custom value when type is other. Required when type is other. MUST NOT be set otherwise.

Personal

FieldTypeRequiredDescription
marital_statusenumNo

Current marital status

Allowed: single, married, divorced, widowed, separated, domestic_partner, unknown

citizenshipstringNo

Country of citizenship

country_of_birthstringNo

Country of birth

occupationstringNo

Person's occupation

occupation_descriptionstringNo

Additional description of occupation or duties

annual_incomenumberNo

Annual income attributable to this Person

household_incomenumberNo

Total annual household income as reported

Driver's License

drivers_license is an optional object. number is required only when the drivers_license object is supplied.

FieldTypeRequiredDescription
numberstringYes*

Driver's license number

statestringNo

Issuing state/province

countrystringNo

Issuing country

issue_datestring (date)No

Issue date

expiration_datestring (date)No

Expiration date

statusenumNo

Current license status

Allowed: valid, expired, suspended, revoked, restricted, unknown

Relationships

relationships is an optional array connecting this Person to another Person.

FieldTypeRequiredDescription
related_person_idstringYes

ID of the related Person

relationship_typeenumYes

Relationship between the people

Allowed: spouse, domestic_partner, child, parent, sibling, guardian, other

relationship_type_descriptionstringYes*

Custom value when relationship_type is other. Required when relationship_type is other. MUST NOT be set otherwise.

Validation Rules

  1. person_id MUST be a non-empty string.
  2. first_name MUST be a non-empty string.
  3. last_name MUST be a non-empty string.
  4. date_of_birth, issue_date, and expiration_date MUST use YYYY-MM-DD.
  5. Email addresses MUST be valid email-formatted strings.
  6. Enum fields MUST contain one of their defined values.
  7. When an enum value is other, the companion {field}_description field is required and MUST be a non-empty string. That companion field MUST NOT be set unless the enum value is other.
  8. annual_income and household_income MUST be numbers greater than or equal to zero.
  9. Every address_id MUST reference an Address object.
  10. Address fields such as line1, city, state, and postal_code MUST NOT appear on Person or inside addresses[]. Those belong on Address.
  11. Every related_person_id MUST reference another Person object.
  12. A Person MUST NOT be duplicated merely because that Person has multiple insurance roles.
  13. Insurance-specific underwriting data such as tobacco use, height, weight, medical history, medications, health questions, and driving history MUST NOT be stored in Person. Those belong in Underwriting.