Fat Agent Standard / Insurance
v1.0Carrier
Represents an insurance company or risk-bearing insurance entity that offers, issues, or administers insurance products and contracts.
One Carrier is one regulated issuing or risk-bearing legal entity. Carrier identifies the insurance company. It does not define products, rates, or Adapter Layer mappings.
Identity
carrier_id, legal_name, and status are required. Use the issuing or risk-bearing legal entity, not only a marketing brand. brand_name may be shared by multiple Carrier objects. Status describes the Carrier record, not whether a Product is open for new business.
| Field | Type | Required | Description |
|---|---|---|---|
carrier_id | string | Yes | Unique Fat Agent Standard Carrier identifier |
legal_name | string | Yes | Full legal name of the insurance entity |
brand_name | string | No | Optional consumer-facing or commonly used brand |
carrier_type | enum | No | High-level insurance-entity classification Allowed: insurance_company, fraternal_benefit_society, reciprocal, risk_retention_group, surplus_lines, reinsurer, other |
carrier_type_description | string | Yes* | Custom value when carrier_type is other. Required when carrier_type is other. MUST NOT be set otherwise. |
status | enum | Yes | Current Carrier record or entity status Allowed: active, inactive, runoff, rehabilitation, liquidation, merged, acquired, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
Regulatory
Regulatory identifiers SHOULD be supplied whenever known. Store NAIC codes as strings so leading zeros are preserved. An NAIC company code identifies one regulated company. An NAIC group code identifies the group. Do not interchange them. Do not infer a code when unknown.
| Field | Type | Required | Description |
|---|---|---|---|
naic_company_code | string | No | NAIC company code for the regulated insurance company |
naic_group_code | string | No | Optional NAIC group identifier |
naic_group_name | string | No | Optional name of the associated insurance group |
domiciliary_state | string | No | State of domicile. For U.S. carriers, use ISO 3166-2 such as US-OH. |
country | string | No | ISO 3166-1 alpha-2 country code |
Relationships
Parent and group relationships describe Standard-object links. naic_group_code describes regulatory group membership. They serve different purposes and MAY coexist. Distinct issuing legal entities MUST remain separate Carrier objects.
| Field | Type | Required | Description |
|---|---|---|---|
| parent_carrier_id | string | No | Parent Carrier when the direct parent is itself a Carrier |
| parent_organization_id | string | No | Holding company, parent company, or other non-carrier parent Organization |
Business
lines_of_business identifies high-level Carrier capability. Actual products belong in Product objects. jurisdictions are carrier-level operating or authorized jurisdictions. They do not mean every Product is available there, or that a Producer is licensed or appointed there.
| Field | Type | Required | Description |
|---|---|---|---|
lines_of_business | array[enum] | No | Broad lines the Carrier supports Allowed: life, annuity, long_term_care, disability, personal_auto, property, personal_umbrella, commercial, other |
line_of_business_description | string | Yes* | Custom value when lines_of_business contains other. Required when lines_of_business contains other. MUST NOT be set otherwise. |
jurisdictions | array[string] | No | Jurisdictions where the Carrier is represented as operating or authorized. U.S. states SHOULD use ISO 3166-2. |
website | string (URI) | No | Carrier website |
Contact — Phones
phones is an optional array of Carrier phone numbers.
| Field | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | Type of Carrier phone number Allowed: main, customer_service, claims, producer_service, underwriting, billing, fax, other |
type_description | string | Yes* | Custom value when type is other. Required when type is other. MUST NOT be set otherwise. |
number | string | Yes | Phone number |
extension | string | No | Phone extension |
Contact — Emails
emails is an optional array of Carrier email addresses.
| Field | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | Type of Carrier email address Allowed: general, customer_service, claims, producer_service, underwriting, billing, other |
type_description | string | Yes* | Custom value when type is other. Required when type is other. MUST NOT be set otherwise. |
address | string (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. Address fields belong on Address and MUST NOT be duplicated here.
| Field | Type | Required | Description |
|---|---|---|---|
| address_id | string | Yes | ID of the related Address object |
type | enum | Yes | Carrier's relationship to the address Allowed: headquarters, mailing, claims, billing, administrative, other |
type_description | string | Yes* | Custom value when type is other. Required when type is other. MUST NOT be set otherwise. |
External References
external_references preserve identifiers used by external insurance systems. They identify the Carrier. They MUST NOT contain proprietary Adapter Layer transformation logic.
| 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 |
Lines of Business
lines_of_business is a high-level Carrier capability list. Health insurance and group insurance are outside Fat Agent Standard v1.0. When lines_of_business contains other, line_of_business_description MUST be supplied.
| Line of Business | Allowed product_type |
|---|---|
life | life |
annuity | annuity |
long_term_care | long_term_care |
disability | disability |
personal_auto | personal_auto |
property | property |
personal_umbrella | personal_umbrella |
commercial | commercial |
other | other |
Validation Rules
- carrier_id, legal_name, and status MUST be supplied.
- 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.
- naic_company_code and naic_group_code MUST be strings so leading zeros are preserved.
- An NAIC company code identifies an individual regulated company. An NAIC group code identifies a group. Do not interchange them.
- Distinct issuing or risk-bearing legal insurance entities SHOULD have distinct Carrier objects.
- brand_name MAY be shared by multiple Carrier objects.
- parent_carrier_id and parent_organization_id do not replace regulatory identifiers.
- Carrier-level jurisdictions do not imply that every Product is available in every listed jurisdiction.
- Carrier-level jurisdictions do not imply that a Producer is licensed or appointed.
- Carrier MUST NOT embed Product objects. Product references Carrier using carrier_id.
- Carrier contact addresses reference Address objects instead of duplicating address fields.
- External references MAY identify the Carrier in external systems but MUST NOT contain proprietary Adapter Layer mapping logic.
- Carrier MUST NOT contain rates, quote calculations, rating tables, underwriting answers, or product-specific configuration.
- Health insurance and group insurance MUST NOT appear on Carrier.
- Regulatory information SHOULD preserve the source value and MUST NOT be inferred when unknown.
