Fat Agent Standard / Core Objects

v1.0

Policy

Represents one issued insurance contract and one policy number.

Policy MUST reference other Fat Agent Standard objects rather than duplicate their underlying data.

Identity

FieldTypeRequiredDescription
policy_idstringYes

Unique identifier for the Policy

policy_numberstringYes

Carrier-assigned policy or contract number

statusenumYes

Current status of the Policy

Allowed: pending, active, pending_cancellation, cancelled, expired, non_renewed, lapsed, reinstated, suspended, terminated, matured, paid_up, claim_pending, claim_paid, other

status_descriptionstringYes*

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

issue_datestring (date)No

Date the carrier issued the Policy

effective_datestring (date)No

Date coverage becomes effective

expiration_datestring (date)No

End date of the current policy term

renewal_datestring (date)No

Date the Policy is scheduled to renew

termination_datestring (date)No

Date coverage terminated when applicable

Carrier / Product

A Policy represents one issued insurance product. The same Fat Agent Standard line-of-business and product-type taxonomy used by Quote and Application MUST be used by Policy. Health insurance and group insurance are outside the scope of Fat Agent Standard v1.0.

FieldTypeRequiredDescription
carrier_idstringYes

ID of the issuing Carrier

product_idstringNo

ID of the carrier Product

line_of_businessenumYes

Broad insurance line

Allowed: life, annuity, long_term_care, disability, personal_auto, property, personal_umbrella, commercial, other

line_of_business_descriptionstringYes*

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

product_typestringYes

Standardized product classification within the line of business. MUST be valid for the selected line_of_business.

product_type_descriptionstringYes*

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

Source

Source maintains traceability through Quote → Application → Policy. A Policy MAY exist without a Quote or Application reference when imported from an external system. One Application MAY be referenced by multiple Policy objects.

FieldTypeRequiredDescription
application_idstringNo

Application that resulted in this Policy

quote_idstringNo

Quote associated with the Policy

Parties

parties connects Person or Organization objects to the Policy. Each party MUST contain person_id OR organization_id, but MUST NOT contain both. Driver numbering such as Driver 1 MUST NOT be used. Primary and contingent beneficiaries MUST be separate roles. The parties array allows an unlimited number of drivers.

FieldTypeRequiredDescription
person_idstringNo

ID of related Person. Required when organization_id is not supplied.

organization_idstringNo

ID of related Organization. Required when person_id is not supplied.

roleenumYes

Party's role on the Policy

Allowed: insured, named_insured, additional_insured, owner, payer, primary_beneficiary, contingent_beneficiary, annuitant, joint_insured, driver, mortgagee, lienholder, loss_payee, authorized_signer, other

role_descriptionstringYes*

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

driver_typeenumNo

Driver classification when role is driver

Allowed: primary, additional, excluded, other

driver_type_descriptionstringYes*

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

Coverages

coverages references Coverage objects associated with the Policy. Limits, deductibles, riders, benefits, and coverage-specific terms belong in the Coverage object.

FieldTypeRequiredDescription
coverage_idstringYes

ID of related Coverage

Risks

risks references insured risk objects. Examples: Life Policy → Person; Auto Policy → Vehicle; Homeowners Policy → Property; Commercial Policy → Organization and/or Property.

FieldTypeRequiredDescription
risk_idstringYes

ID of the insured risk

risk_typeenumYes

Type of Standard object being referenced

Allowed: person, organization, vehicle, property, other

risk_type_descriptionstringYes*

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

Premium

premium contains contract-level premium information. currency SHOULD use ISO 4217 codes such as USD.

FieldTypeRequiredDescription
premium_amountnumberNo

Premium amount for the selected payment frequency

premium_frequencyenumNo

Frequency at which premium is paid

Allowed: monthly, quarterly, semiannual, annual, single_premium, other

premium_frequency_descriptionstringYes*

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

annual_premiumnumberNo

Annualized premium

currencystringNo

ISO 4217 currency code

Billing

billing contains basic policy-level billing information. Detailed payment transactions MUST NOT be stored directly on Policy.

FieldTypeRequiredDescription
billing_methodenumNo

Method used to bill or collect premium

Allowed: direct_bill, agency_bill, eft_ach, credit_debit_card, payroll_deduction, other

billing_method_descriptionstringYes*

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

billing_statusenumNo

Current billing state

Allowed: current, due, past_due, grace_period, paid, suspended, other

billing_status_descriptionstringYes*

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

next_due_datestring (date)No

Next scheduled premium due date

Producers

producers connects Producer and Agency objects to the Policy. Multiple producers MAY be associated with one Policy. The Standard MUST NOT assume only one writing agent exists. At least producer_id or agency_id MUST be supplied for each entry.

FieldTypeRequiredDescription
producer_idstringNo

ID of the Producer

agency_idstringNo

ID of the Agency

roleenumYes

Producer or distribution role

Allowed: writing_agent, servicing_agent, broker, agency, imo, fmo, other

role_descriptionstringYes*

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

Prior Policies

prior_policies references PriorPolicy objects. Prior-insurance and replacement information MUST NOT be duplicated inside Policy.

FieldTypeRequiredDescription
prior_policy_idstringYes

ID of related PriorPolicy

Underwriting

underwriting references Underwriting objects associated with the Policy. Underwriting information MUST NOT be duplicated inside Policy.

FieldTypeRequiredDescription
underwriting_idstringYes

ID of related Underwriting object

Endorsements

endorsements references Endorsement objects that modify the Policy after issuance. Coverage represents protection provided by the Policy. Endorsement represents a change to the Policy. Those concepts MUST remain separate.

FieldTypeRequiredDescription
endorsement_idstringYes

ID of related Endorsement

Policy Values / Snapshots

Changing financial values MUST NOT be stored as static fields on Policy. Life and annuity values that change over time belong on PolicySnapshot. Every PolicySnapshot MUST include as_of_date, source_type, and source_date.

FieldTypeRequiredDescription
policy_snapshot_idstringYes

ID of related PolicySnapshot

Documents

documents references Document/Evidence objects associated with the Policy. Actual document metadata and file information belong in Document/Evidence.

FieldTypeRequiredDescription
document_idstringYes

ID of related Document/Evidence object

Claims / Losses

claims_losses references Claim/Loss objects associated with the Policy. Claim details MUST NOT be duplicated inside Policy.

FieldTypeRequiredDescription
claim_loss_idstringYes

ID of related Claim/Loss object

External References

external_references maps the Policy to identifiers in external systems, such as carrier policy administration IDs, AMS policy IDs, CRM IDs, billing system IDs, or third-party platform IDs.

FieldTypeRequiredDescription
systemstringYes

External system or source

reference_idstringYes

Identifier assigned by that system

reference_typestringNo

Type of external reference

Line of Business and Product Types

product_type MUST be valid for the selected line_of_business. Health insurance and group insurance are outside Fat Agent Standard v1.0. 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 BusinessAllowed product_type
lifeterm_life, whole_life, universal_life, indexed_universal_life, guaranteed_universal_life, final_expense, other
annuityfixed_annuity, myga, fixed_indexed_annuity, spia, variable_annuity, other
long_term_caretraditional_ltc, hybrid_ltc, other
disabilityshort_term_disability, long_term_disability, other
personal_autostandard_auto, non_standard_auto, classic_collectible_auto, motorcycle, recreational_vehicle, other
propertyhomeowners, condo, renters, dwelling_fire, mobile_manufactured_home, flood, other
personal_umbrellapersonal_umbrella, other
commercialbusinessowners, 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
otherother

Validation Rules

  1. One Policy object represents one issued insurance contract and one policy number.
  2. policy_id, policy_number, status, carrier_id, line_of_business, and product_type MUST be supplied.
  3. One Application MAY result in multiple Policy objects. Policy MUST NOT contain multiple unrelated issued contracts.
  4. The lifecycle is Quote → Application → Policy. application_id and quote_id MAY be omitted when the Policy is imported from an external system.
  5. 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.
  6. Every Product type MUST be valid for its selected line_of_business.
  7. Health insurance and group insurance MUST NOT appear on Policy.
  8. Every party MUST reference either a Person OR an Organization, but not both.
  9. Driver numbering MUST NOT be used. Primary, additional, and excluded driver classification uses driver_type, and only when role is driver.
  10. Primary and contingent beneficiaries MUST be represented as separate roles.
  11. Multiple producers MAY be associated with one Policy. Every producer entry MUST contain at least producer_id or agency_id.
  12. Policy MUST reference Coverage, risk objects, Underwriting, PriorPolicy, Endorsement, Claim/Loss, and PolicySnapshot rather than duplicating those schemas.
  13. Changing financial values such as cash_value belong in PolicySnapshot rather than static Policy fields.
  14. Detailed payment transactions MUST NOT be stored on Policy.
  15. Dates MUST use ISO 8601 date format (YYYY-MM-DD).
  16. currency SHOULD use ISO 4217 codes.
  17. premium_amount and annual_premium MUST be greater than or equal to zero when supplied.