Fat Agent Standard / Insurance
v1.0Product
Represents a carrier's insurance product and the standardized characteristics, availability, coverages, benefits, underwriting program, and contractual product features associated with it.
One Product object represents one identifiable carrier product or version. Product describes what the insurance product is. It does not calculate a price for a specific applicant.
Identity
product_id, carrier_id, product_name, line_of_business, product_type, and status are required. product_code is a carrier identifier, not an Adapter Layer mapping. Health insurance and group insurance are outside Fat Agent Standard v1.0.
| Field | Type | Required | Description |
|---|---|---|---|
product_id | string | Yes | Unique Fat Agent Standard identifier |
| carrier_id | string | Yes | Carrier that offers the product |
product_name | string | Yes | Carrier-facing or market-facing product name |
product_code | string | No | Optional carrier product code |
line_of_business | enum | Yes | Insurance line Allowed: life, annuity, long_term_care, disability, 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 | enum | Yes | Standardized product classification. MUST be valid for the selected line_of_business. Allowed: term_life, whole_life, universal_life, indexed_universal_life, guaranteed_universal_life, final_expense, other, fixed_annuity, myga, fixed_indexed_annuity, spia, variable_annuity, traditional_ltc, hybrid_ltc, short_term_disability, long_term_disability, standard_auto, non_standard_auto, classic_collectible_auto, motorcycle, recreational_vehicle, homeowners, condo, renters, dwelling_fire, mobile_manufactured_home, flood, personal_umbrella, 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 |
product_type_description | string | Yes* | Custom value when product_type is other. Required when product_type is other. MUST NOT be set otherwise. |
version | string | No | Carrier or product version identifier |
status | enum | Yes | Current product status Allowed: draft, active, closed_to_new_business, discontinued, replaced, suspended, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
Availability
Availability describes where and to whom the product is offered. jurisdictions SHOULD use ISO 3166-2 subdivision codes such as US-OH. This does not represent producer licensing or appointment.
| Field | Type | Required | Description |
|---|---|---|---|
jurisdictions | array[string] | No | Jurisdictions where the product is available |
minimum_issue_age | integer | No | Minimum whole-number issue age |
maximum_issue_age | integer | No | Maximum whole-number issue age |
effective_date | string (date) | No | Date the product became available |
discontinue_date | string (date) | No | Date the product was or will be discontinued |
Product Parameters
These fields describe broad contractual product boundaries, not rating calculations. currency MUST use ISO 4217 and is required when any monetary Product Parameter is supplied. premium_types describe how the product accepts premium. They do not calculate premium.
| Field | Type | Required | Description |
|---|---|---|---|
minimum_face_amount | number | No | Minimum face amount. Primarily Life. |
maximum_face_amount | number | No | Maximum face amount. Primarily Life. |
minimum_premium | number | No | Minimum premium accepted by the product |
maximum_premium | number | No | Maximum premium accepted by the product |
currency | string | No | ISO 4217 currency code. Required when any monetary Product Parameter is supplied. |
premium_types | array[enum] | No | How the product accepts or structures premium Allowed: recurring, single_premium, flexible, limited_pay, level, other |
premium_type_description | string | Yes* | Custom value when premium_types contains other. Required when premium_types contains other. MUST NOT be set otherwise. |
Coverages
coverages[] describes which standardized Coverage types the Product supports. It does not embed issued Coverage objects. Use the Coverage v1.0 coverage_type taxonomy. Carrier proprietary names belong in external mappings.
| Field | Type | Required | Description |
|---|---|---|---|
coverage_type | string | Yes* | Standardized Coverage type supported by the Product |
coverage_type_description | string | Yes* | Custom value when coverage_type is other. Required when coverage_type is other. MUST NOT be set otherwise. |
availability | enum | Yes* | Whether the coverage is required, optional, conditional, or included Allowed: required, optional, conditional, included, other |
availability_description | string | Yes* | Custom value when availability is other. Required when availability is other. MUST NOT be set otherwise. |
minimum_limit | number | No | Minimum supported limit |
maximum_limit | number | No | Maximum supported limit |
minimum_deductible | number | No | Minimum supported deductible |
maximum_deductible | number | No | Maximum supported deductible |
Underwriting Program
Product identifies the underwriting program and question sets. Completed questions, answers, evidence, findings, and decisions belong in Underwriting. Product v1.0 does not embed a proprietary rules engine.
| Field | Type | Required | Description |
|---|---|---|---|
underwriting_type | enum | Yes* | Underwriting program used by the product Allowed: fully_underwritten, accelerated_underwriting, simplified_issue, guaranteed_issue, knockout, automated, manual, hybrid, other |
underwriting_type_description | string | Yes* | Custom value when underwriting_type is other. Required when underwriting_type is other. MUST NOT be set otherwise. |
underwriting_question_set_ids | array[string] | No | Standardized underwriting question sets associated with the product |
Life
life SHOULD be supplied only when the product is Life. term_periods are available term durations in years. premium_structure describes product design; it does not calculate premium.
| Field | Type | Required | Description |
|---|---|---|---|
term_periods | array[integer] | No | Available term durations in years |
death_benefit_options | array[enum] | No | Available death-benefit designs Allowed: level, increasing, return_of_premium, other |
death_benefit_option_description | string | Yes* | Custom value when death_benefit_options contains other. Required when death_benefit_options contains other. MUST NOT be set otherwise. |
cash_value_product | boolean | No | Whether the product builds cash value |
premium_structure | enum | No | Product premium design Allowed: level, flexible, single_premium, limited_pay, other |
premium_structure_description | string | Yes* | Custom value when premium_structure is other. Required when premium_structure is other. MUST NOT be set otherwise. |
Annuity
annuity SHOULD be supplied only when the product is an Annuity. Declared rates describe product terms. They are not quote calculations. Percentages use percentage-point values: 9 means 9%.
| Field | Type | Required | Description |
|---|---|---|---|
bonus_percentage | number | No | Optional product premium bonus. 5 means 5%. |
income_options | array[enum] | No | Available income options Allowed: guaranteed_lifetime_income, single_life, joint_life, period_certain, systematic_withdrawal, annuitization, other |
income_option_description | string | Yes* | Custom value when income_options contains other. Required when income_options contains other. MUST NOT be set otherwise. |
Surrender Schedule
surrender_schedule[] describes declared surrender charges by contract year. Percentages use percentage-point values.
| Field | Type | Required | Description |
|---|---|---|---|
year | integer | Yes* | Contract year |
surrender_charge_percentage | number | Yes* | Surrender charge for that year. 9 means 9%. |
Strategies
strategies[] describe declared crediting terms for indexed or fixed accounts. Rates are product terms, not calculated quotes.
| Field | Type | Required | Description |
|---|---|---|---|
strategy_id | string | Yes* | Unique identifier for the strategy |
strategy_name | string | Yes* | Carrier strategy name |
strategy_type | enum | Yes* | Strategy classification Allowed: indexed, fixed, other |
strategy_type_description | string | Yes* | Custom value when strategy_type is other. Required when strategy_type is other. MUST NOT be set otherwise. |
index_name | string | No | Index name when strategy_type is indexed |
index_identifier | string | No | External index identifier or ticker |
crediting_method | enum | No | Declared crediting method Allowed: annual_point_to_point, multi_year_point_to_point, monthly_point_to_point, monthly_sum, monthly_average, daily_average, fixed_interest, other |
crediting_method_description | string | Yes* | Custom value when crediting_method is other. Required when crediting_method is other. MUST NOT be set otherwise. |
participation_rate | number | No | Declared participation rate. 100 means 100%. |
cap_rate | number | No | Declared cap rate |
spread_rate | number | No | Declared spread rate |
floor_rate | number | No | Declared floor rate |
declared_rate | number | No | Declared fixed interest rate |
Property & Casualty
property_casualty SHOULD be supplied when relevant to Personal Auto, Property, Personal Umbrella, or Commercial. supported_limits and supported_deductibles are product options, not selected Coverage values.
| Field | Type | Required | Description |
|---|---|---|---|
supported_limits | array[number] | No | Numeric limits the product supports |
supported_deductibles | array[number] | No | Numeric deductibles the product supports |
Eligibility Characteristics
Lightweight product-level eligibility descriptors. Use this only for genuine product characteristics. Detailed underwriting questions belong in Underwriting. Proprietary rating factors belong in FatQuote.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes* | Characteristic name |
value | string | number | boolean | array[string] | Yes* | Characteristic value |
External References
external_references preserve carrier or platform identifiers without putting Adapter Layer mapping logic into the Standard.
| Field | Type | Required | Description |
|---|---|---|---|
system | string | Yes* | External system |
reference_id | string | Yes* | Identifier assigned by that system |
reference_type | string | No | Type of 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.
| 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 |
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
- One Product object represents one identifiable carrier product or version.
- product_id, carrier_id, product_name, line_of_business, product_type, and status MUST be supplied.
- product_type MUST be valid for the selected line_of_business.
- 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.
- Health insurance and group insurance MUST NOT appear on Product.
- currency MUST use ISO 4217 and is required when any monetary Product Parameter is supplied.
- Product availability describes where a product is offered. It does not represent producer licensing or appointment.
- Product Coverage configuration describes what the product supports. Selected or issued protection belongs in Coverage objects.
- Underwriting configuration identifies the program and question sets. Completed answers belong in Underwriting.
- Product MAY describe declared contractual rates such as participation rates, caps, spreads, floors, fixed rates, bonuses, and surrender schedules.
- Product MUST NOT contain proprietary quote calculations, rating tables, rating factors, carrier credentials, API request mappings, or Adapter Layer transformation logic.
- life SHOULD be supplied only for Life products. annuity SHOULD be supplied only for Annuity products. property_casualty SHOULD be supplied only for Personal Auto, Property, Personal Umbrella, or Commercial.
- Percentage fields use percentage-point values: 9 means 9%.
- Dates MUST use ISO 8601 date format (YYYY-MM-DD).
