Skip to main content
Event is a top-level Field Model V1 entity, managed through the unified entity CRUD endpoints at /api/v1/external/companies/{companyId}/entities/Event. Like all FMV1 entities, the set of available fields is configured per company. Key Concepts:
  • The request body for create and update is a flat JSON object where keys are field referenceIds (e.g., eventName, lossDescription).
  • Responses use the generic entity envelope — all field values live inside a fieldModelV1Data object, alongside id, createdAt/createdBy, updatedAt/updatedBy, and resolved createdByName/updatedByName. There is no top-level companyId, policyId, or lawsuitId.
  • Updates use merge semantics — provided fields are merged onto the existing data, a key set to null clears that field, and omitted fields are left unchanged. PUT is accepted as an alias for PATCH.
  • Get returns the event’s own data only — there is no cross-entity enrichment. Linked entities (for example policies) are not embedded; query them separately.

Framework-Required Fields

These fields are required by the framework on create:
FieldDescription
eventTypeEvent type (Option Set value)
eventCoverageTypeCoverage type (Option Set value)
eventStatusEvent status. Typically populated by the resolver if omitted.
eventNameDisplay name for the event
eventReferenceIdReference identifier. Typically populated by the resolver if omitted.
Additional fields (including any custom fields) are defined per company. Discover the full set via the Configuration endpoint.

Configuration

Configuration discovery uses the unified entity configuration endpoint. Call GET /api/v1/external/companies/{companyId}/entities/event/configuration to retrieve a JSON Schema of the available event fields for your company. The schema includes:
  • Field types: string, number, boolean, object
  • Option Set fields: include an enum array of valid values
  • Required fields: listed in the required array

Field Types

FMV1 TypeJSON TypeDescription
TextstringFree-text string
NumbernumberNumeric value
BooleanbooleanTrue/false
Option Setstring or numberConstrained to enum values
Dateobject{ "date": "YYYY-MM-DD", "timezone": "America/New_York" } — not a plain string
ObjectobjectNested object

Permissions

Permissions are not type-specific — the same permissions apply to all events regardless of type.
OperationPermission
Get Configurationcompany.event:export
List / Getcompany.claim:read
Createcompany.claim:create
Updatecompany.claim:create
Deletecompany.claim:delete

Example Create Request

{
  "eventType": "Claim",
  "eventCoverageType": "Professional Liability",
  "eventName": "Water damage claim",
  "lossDescription": "Water damage to building",
  "lossDate": { "date": "2025-01-10", "timezone": "America/New_York" }
}

Example Response

{
  "id": "550e8400-e29b-41d4-a716-446655440300",
  "fieldModelV1Data": {
    "eventType": "Claim",
    "eventCoverageType": "Professional Liability",
    "eventStatus": "Open",
    "eventName": "Water damage claim",
    "eventReferenceId": "EV-2025-001",
    "lossDescription": "Water damage to building",
    "lossDate": { "date": "2025-01-10", "timezone": "America/New_York" }
  },
  "createdAt": 1736937000,
  "createdBy": "google-oauth2|123456789",
  "updatedAt": 1736937000,
  "updatedBy": null,
  "createdByName": "Jane Doe",
  "updatedByName": null
}
createdAt and updatedAt are epoch-second integers, not ISO strings.