Fat Agent Standard / Core Objects
v1.0Application
Represents an insurance application or submission — the transaction layer that connects people, organizations, products, coverages, risks, underwriting, producers, and documents.
Application MUST reference other Fat Agent Standard objects rather than duplicate their underlying data.
Identity
| Field | Type | Required | Description |
|---|---|---|---|
application_id | string | Yes | Unique identifier for the Application |
application_number | string | No | Carrier, agency, or system-assigned application number |
quote_id | string | No | ID of the Quote that led to this Application |
application_type | enum | Yes | Type of insurance transaction Allowed: new_business, replacement, renewal, rewrite, endorsement, reinstatement, other |
application_type_description | string | Yes* | Custom value when application_type is other. Required when application_type is other. MUST NOT be set otherwise. |
status | enum | Yes | Current status of the Application Allowed: draft, in_progress, ready_to_submit, submitted, received, under_review, requirements_outstanding, approved, approved_with_changes, declined, withdrawn, issued, not_taken, closed |
created_date | string (date-time) | No | Date/time the Application was created |
submitted_date | string (date-time) | No | Date/time the Application was submitted |
effective_date | string (date) | No | Requested or assigned effective date |
expiration_date | string (date) | No | Expiration date when applicable |
Products
products is a required array containing one or more insurance products being applied for. Multiple products on one Application MAY issue as multiple Policy objects. Each Policy represents exactly one issued insurance contract or policy number. Risk-specific information MUST NOT be duplicated inside Application. Products reference risk objects with risk_ids and Underwriting objects with underwriting_ids. The referenced objects contain the actual data.
| Field | Type | Required | Description |
|---|---|---|---|
line_of_business | enum | Yes | Broad insurance line Allowed: life, annuity, long_term_care, disability, health, personal_auto, property, personal_umbrella, commercial, other |
line_of_business_description | string | Yes* | Custom value when line_of_business is other. Required when line_of_business is other. MUST NOT be set otherwise. |
product_type | string | Yes | Standardized product classification within the line of business. MUST be valid for the selected line_of_business. |
product_type_description | string | Yes* | Custom value when product_type is other. Required when product_type is other. MUST NOT be set otherwise. |
| carrier_id | string | No | ID of the Carrier |
| product_id | string | No | ID of the specific carrier Product |
| coverage_ids | array[string] | No | Coverage objects associated with this product |
risk_ids | array[string] | No | Risk objects associated with this product, such as Vehicle, Property, Person, or Organization |
| underwriting_ids | array[string] | No | Underwriting objects associated with this product |
Parties
parties is an optional array connecting Person or Organization objects to the Application. Each party MUST contain person_id OR organization_id, but MUST NOT contain both. A Person or Organization MUST NOT be embedded inside Application.
| Field | Type | Required | Description |
|---|---|---|---|
| person_id | string | No | ID of related Person. Required when organization_id is not supplied. |
| organization_id | string | No | ID of related Organization. Required when person_id is not supplied. |
role | enum | Yes | Party's role in the Application Allowed: applicant, insured, named_insured, additional_insured, owner, payer, beneficiary, annuitant, joint_insured, driver, excluded_driver, claimant, authorized_signer, other |
role_description | string | Yes* | Custom value when role is other. Required when role is other. MUST NOT be set otherwise. |
Producers
producers is an optional array connecting Producer and Agency objects to the Application. At least producer_id or agency_id MUST be supplied for each entry.
| Field | Type | Required | Description |
|---|---|---|---|
| producer_id | string | No | ID of the Producer |
| agency_id | string | No | ID of the Agency |
role | enum | Yes | Producer/agency role Allowed: writing_agent, servicing_agent, broker, agency, other |
role_description | string | Yes* | Custom value when role is other. Required when role is other. MUST NOT be set otherwise. |
Documents
documents is an optional array referencing Document/Evidence objects associated with the Application. The actual document metadata and file information belong in the Document/Evidence object.
| Field | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | ID of related Document/Evidence object |
External References
external_references is an optional array used to map the Application to identifiers from outside systems, such as carrier application numbers, policy administration IDs, AMS IDs, CRM IDs, or third-party platform identifiers.
| Field | Type | Required | Description |
|---|---|---|---|
system | string | Yes | External system or source |
reference_id | string | Yes | Identifier assigned by that system |
reference_type | string | No | Type of external reference |
Line of Business and Product Types
product_type MUST be valid for the selected line_of_business. When line_of_business is other, line_of_business_description MUST be supplied, product_type SHOULD be other, and product_type_description MUST describe the product.
| Line of Business | Allowed product_type |
|---|---|
life | term_life, whole_life, universal_life, indexed_universal_life, guaranteed_universal_life, final_expense, other |
annuity | fixed_annuity, myga, fixed_indexed_annuity, spia, variable_annuity, other |
long_term_care | traditional_ltc, hybrid_ltc, other |
disability | short_term_disability, long_term_disability, other |
health | individual_health, group_health, medicare_supplement, medicare_advantage, supplemental_health, accident, critical_illness, other |
personal_auto | standard_auto, non_standard_auto, classic_collectible_auto, motorcycle, recreational_vehicle, other |
property | homeowners, condo, renters, dwelling_fire, mobile_manufactured_home, flood, other |
personal_umbrella | personal_umbrella, other |
commercial | businessowners, commercial_package, commercial_property, general_liability, commercial_auto, workers_compensation, commercial_umbrella, professional_liability, errors_omissions, directors_officers, employment_practices_liability, cyber, inland_marine, builders_risk, equipment_breakdown, crime, bonds, other |
other | other |
Validation Rules
- application_id MUST be a non-empty string.
- application_type MUST contain one of its defined values.
- status MUST contain one of its defined values.
- 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.
- products MUST contain at least one Product.
- Multiple products and multiple lines of business MAY exist within one Application.
- Application MUST NOT require a one-to-one relationship with Policy. Application MUST NOT include policy_id or policy_number.
- Each resulting Policy represents exactly one issued insurance contract or policy number.
- One Application MAY result in multiple Policy objects when multiple products or contracts are issued.
- quote_id, when supplied, MUST be a non-empty string and MUST reference a Quote object.
- The lifecycle is Quote → Application → Policy. Each Policy will later reference application_id and quote_id for traceability.
- Every Product MUST contain a valid line_of_business.
- Every Product MUST contain a product_type valid for its selected line_of_business.
- When line_of_business is other, line_of_business_description MUST be supplied and product_type SHOULD be other.
- carrier_id MUST reference a Carrier object when supplied.
- product_id MUST reference a Product object when supplied.
- Every coverage_id MUST reference a Coverage object.
- Every risk_id MUST reference a valid Fat Agent Standard risk object.
- Every underwriting_id MUST reference an Underwriting object.
- Every Application party MUST reference either a Person OR an Organization, but not both.
- Every producer entry MUST contain at least producer_id or agency_id.
- Every document_id MUST reference a Document/Evidence object.
- Dates MUST use ISO 8601 formats: date-time for created_date and submitted_date, date (YYYY-MM-DD) for effective_date and expiration_date.
- Application MUST NOT duplicate data belonging to referenced Standard objects.
- Line-specific underwriting questions MUST remain in Underwriting rather than Application.
