Fat Agent Standard / Insurance
v1.0Producer / Agency
Represents the insurance producer or agency participating in the sale, placement, servicing, or administration of insurance business, including standardized identity, licensing, lines of authority, carrier appointments, and carrier producer identifiers.
One Producer / Agency identifies who is selling or servicing the insurance and what authorization they hold. It does not define contracting workflow, compensation, or a Policy-specific producer role.
Identity
producer_agency_id, entity_type, and status are required. Exactly one of person_id or organization_id MUST be supplied. individual_producer MUST reference person_id. Agency and other distribution entities SHOULD reference organization_id. Do not embed Person or Organization. npn SHOULD be supplied when applicable and known. Status describes the Producer / Agency record, not a license or appointment.
| Field | Type | Required | Description |
|---|---|---|---|
producer_agency_id | string | Yes | Unique Fat Agent Standard identifier |
entity_type | enum | Yes | Whether this record is an individual producer or a distribution entity Allowed: individual_producer, agency, brokerage, general_agency, mga, imo, fmo, other |
entity_type_description | string | Yes* | Custom value when entity_type is other. Required when entity_type is other. MUST NOT be set otherwise. |
| person_id | string | No | Person referenced by an individual producer. Required when entity_type is individual_producer. |
| organization_id | string | No | Organization referenced by an agency or other distribution entity |
npn | string | No | National Producer Number. Store as a string. |
status | enum | Yes | Overall Producer / Agency record status Allowed: active, inactive, suspended, terminated, pending, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
Contact — Phones
Contact MAY be supplied when useful. Person and Organization remain the canonical identity objects.
| Field | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | Type of Producer / Agency phone number Allowed: business, mobile, 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 Producer / Agency email addresses.
| Field | Type | Required | Description |
|---|---|---|---|
type | enum | Yes | Type of Producer / Agency email address Allowed: business, licensing, contracting, commissions, 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 |
Website
| Field | Type | Required | Description |
|---|---|---|---|
website | string (URI) | No | Producer or agency website |
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 | Producer / Agency relationship to the address Allowed: business, mailing, licensing, contracting, other |
type_description | string | Yes* | Custom value when type is other. Required when type is other. MUST NOT be set otherwise. |
Licenses
licenses[] represents insurance licenses held by the producer or agency. One producer MAY have many jurisdictional licenses. lines_of_authority are regulatory classifications and MUST NOT be confused with Product line_of_business. accident_health is a license line of authority, not a Fat Agent Standard product line.
| Field | Type | Required | Description |
|---|---|---|---|
license_id | string | Yes* | Unique license identifier |
jurisdiction | string | Yes* | License jurisdiction. Use ISO 3166-2 such as US-OH when applicable. |
license_number | string | Yes* | License number. Store as a string. |
license_type | enum | Yes* | Type of license Allowed: producer, agency, adjuster, surplus_lines, limited_lines, other |
license_type_description | string | Yes* | Custom value when license_type is other. Required when license_type is other. MUST NOT be set otherwise. |
status | enum | Yes* | License status Allowed: active, inactive, expired, suspended, revoked, pending, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
resident_indicator | boolean | No | Whether the license is resident |
effective_date | string (date) | No | License effective date |
expiration_date | string (date) | No | License expiration date |
lines_of_authority | array[enum] | Yes* | Regulatory lines of authority on this license Allowed: life, accident_health, variable_life_variable_annuity, property, casualty, personal_lines, surplus_lines, limited_lines, other |
line_of_authority_description | string | Yes* | Custom value when lines_of_authority contains other. Required when lines_of_authority contains other. MUST NOT be set otherwise. |
Carrier Appointments
carrier_appointments[] identifies appointment or authorization with a Carrier. This is not the full contracting workflow. producer_code and agency_code are carrier-assigned identifiers. Appointment lines_of_business use Fat Agent Standard product lines, not license lines of authority.
| Field | Type | Required | Description |
|---|---|---|---|
appointment_id | string | Yes* | Unique appointment identifier |
| carrier_id | string | Yes* | Carrier this appointment is with |
jurisdiction | string | No | Appointment jurisdiction. Use ISO 3166-2 such as US-OH when applicable. |
status | enum | Yes* | Appointment status Allowed: pending, active, inactive, terminated, not_required, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
producer_code | string | No | Carrier-assigned producer or agent code |
agency_code | string | No | Carrier-assigned agency code |
effective_date | string (date) | No | Appointment effective date |
termination_date | string (date) | No | Appointment termination date |
lines_of_business | array[enum] | No | Fat Agent Standard lines covered by the appointment 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. |
Relationships
relationships[] identifies distribution hierarchy. It does not define commission percentages, schedules, overrides, vesting, advances, or chargebacks.
| Field | Type | Required | Description |
|---|---|---|---|
| related_producer_agency_id | string | Yes* | Related Producer / Agency |
relationship_type | enum | Yes* | Hierarchy relationship Allowed: member_of, subproducer_of, subagency_of, general_agent_for, mga_for, imo_for, fmo_for, upline, downline, other |
relationship_type_description | string | Yes* | Custom value when relationship_type is other. Required when relationship_type is other. MUST NOT be set otherwise. |
effective_date | string (date) | No | Relationship effective date |
termination_date | string (date) | No | Relationship termination date |
External References
external_references preserve identifiers from contracting platforms, AMS, CRM, licensing providers, and carrier portals. They MUST NOT contain 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 |
Appointment Lines of Business
carrier_appointments[].lines_of_business uses Fat Agent Standard product lines. Health insurance and group insurance are outside Fat Agent Standard v1.0.
| 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
- producer_agency_id, entity_type, and status MUST be supplied.
- Exactly one of person_id or organization_id MUST be supplied.
- individual_producer MUST reference person_id.
- Agency and other business distribution entities SHOULD reference organization_id.
- 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.
- NPN and license numbers MUST be strings.
- A Producer / Agency MAY hold multiple jurisdictional licenses.
- Licensing lines of authority are regulatory classifications and MUST NOT be confused with Product line of business.
- Carrier appointments are separate from state licenses.
- Carrier appointment records MAY preserve carrier producer_code and agency_code.
- Appointment status does not replace a complete future Contracting object or workflow.
- Producer hierarchy relationships do not define compensation.
- Commission schedules, overrides, vesting, advances, and chargebacks are outside Producer / Agency v1.0.
- Transaction-specific producer roles belong on Policy, Application, or Quote relationships rather than permanent producer identity.
- Contact addresses reference Address objects.
- External references identify records in outside systems but MUST NOT contain integration transformation logic.
- Health insurance remains outside Fat Agent Standard v1.0 product scope. accident_health remains available only as a regulatory license line of authority.
- Dates MUST use ISO 8601 date format (YYYY-MM-DD).
