# First Notice of Loss ("FNOL") API



<EndpointIndex
  names={[
  	'addFnol',
  	'validate',
  	'complete',
  	'discard',
  	'reject',
  	'patchFnol',
  	'createClaim',
  	'getFnol',
  	'getFnolByNumber',
  	'getFnolClaimLocators',
  	'listFnol',
  	'listFnolsByPolicyLocator',
  	'listFnolHistory',
  	'setFnolNumber',
  	'generateFnolNumber',
  	'addFnolContact',
  	'deleteFnolContact',
  	'updateFnolContact',
  	'addLosses',
  	'checkLosses',
  	'deleteLosses',
  	'excludeLoss',
  	'includeLoss',
  	'updateLoss',
  	'resetLoss',
  	'fetchClaimEventDefinitions',
  ]}
  titles={{
  	addFnol: 'Create FNOL',
  	validate: 'Validate FNOL',
  	complete: 'Complete FNOL',
  	discard: 'Discard FNOL',
  	reject: 'Reject FNOL',
  	patchFnol: 'Update FNOL',
  	createClaim: 'Create claim from FNOL',
  	getFnol: 'Get FNOL',
  	getFnolByNumber: 'Get FNOL by number',
  	getFnolClaimLocators: 'Get FNOL claim locators',
  	listFnol: 'List FNOLs',
  	listFnolsByPolicyLocator: 'List FNOLs by policy locator',
  	listFnolHistory: 'List FNOL History',
  	setFnolNumber: 'Set FNOL number',
  	generateFnolNumber: 'Generate FNOL number',
  	addFnolContact: 'Add FNOL contact',
  	deleteFnolContact: 'Delete FNOL contact',
  	updateFnolContact: 'Update FNOL contact',
  	addLosses: 'Add losses',
  	checkLosses: 'Check losses',
  	deleteLosses: 'Delete losses',
  	excludeLoss: 'Exclude loss',
  	includeLoss: 'Include loss',
  	updateLoss: 'Update loss',
  	resetLoss: 'Reset loss',
  	fetchClaimEventDefinitions: 'List events',
  }}
/>

Fundamental Operations [#fundamental-operations]

Create FNOL [#create-fnol]

<ApiEndpoint name="addFnol" title="Create FNOL" />

<ApiSchema name="FnolCreateRequest" />

<ApiSchema name="FnolResponse" />

Validate FNOL [#validate-fnol]

<ApiEndpoint name="validate" title="Validate FNOL" />

Complete FNOL [#complete-fnol]

<ApiEndpoint name="complete" title="Complete FNOL" />

Discard FNOL [#discard-fnol]

<ApiEndpoint name="discard" title="Discard FNOL" />

Reject FNOL [#reject-fnol]

<ApiEndpoint name="reject" title="Reject FNOL" />

Update FNOL [#update-fnol]

<ApiEndpoint name="patchFnol" title="Update FNOL" />

<ApiSchema name="FnolPatchRequest" />

Create claim from FNOL [#create-claim-from-fnol]

<ApiEndpoint name="createClaim" title="Create claim from FNOL" />

Data Fetch [#data-fetch]

Get FNOL [#get-fnol]

<ApiEndpoint name="getFnol" title="Get FNOL" />

Get FNOL by number [#get-fnol-by-number]

<ApiEndpoint name="getFnolByNumber" title="Get FNOL by number" />

Get FNOL claim locators [#get-fnol-claim-locators]

<ApiEndpoint name="getFnolClaimLocators" title="Get FNOL claim locators" />

List FNOLs [#list-fnols]

<ApiEndpoint name="listFnol" title="List FNOLs" />

List FNOLs by policy locator [#list-fnols-by-policy-locator]

<ApiEndpoint name="listFnolsByPolicyLocator" title="List FNOLs by policy locator" />

<ApiSchema name="ListPageResponseFnolResponse" />

List FNOL History [#list-fnol-history]

<ApiEndpoint name="listFnolHistory" title="List FNOL History" />

Numbering [#numbering]

Set FNOL number [#set-fnol-number]

<ApiEndpoint name="setFnolNumber" title="Set FNOL number" />

Generate FNOL number [#generate-fnol-number]

<ApiEndpoint name="generateFnolNumber" title="Generate FNOL number" />

Contacts [#contacts]

Add FNOL contact [#add-fnol-contact]

<ApiEndpoint name="addFnolContact" title="Add FNOL contact" />

<ApiSchema name="ContactRoles" />

Delete FNOL contact [#delete-fnol-contact]

<ApiEndpoint name="deleteFnolContact" title="Delete FNOL contact" />

Update FNOL contact [#update-fnol-contact]

<ApiEndpoint name="updateFnolContact" title="Update FNOL contact" />

Loss Management [#loss-management]

Add losses [#add-losses]

<ApiEndpoint name="addLosses" title="Add losses" />

Check losses [#check-losses]

<ApiEndpoint name="checkLosses" title="Check losses" />

Delete losses [#delete-losses]

<ApiEndpoint name="deleteLosses" title="Delete losses" />

Exclude loss [#exclude-loss]

<ApiEndpoint name="excludeLoss" title="Exclude loss" />

<ApiSchema name="FnolLoss" />

Include loss [#include-loss]

<ApiEndpoint name="includeLoss" title="Include loss" />

Update loss [#update-loss]

<ApiEndpoint name="updateLoss" title="Update loss" />

<ApiSchema name="FnolLossPatchRequest" />

Reset loss [#reset-loss]

<ApiEndpoint name="resetLoss" title="Reset loss" />

Events [#events]

{/* TODO: "fetchClaimEventDefinitions" not found in OpenAPI spec */}

<span id="fetchClaimEventDefinitions" />

List events [#list-events]

<ApiSchema name="ClaimServiceEventTypeDefinitions" />

See Also [#see-also]

* [First Notice of Loss Feature Guide](/features/claims/fnol)
* [FNOL Coverage Checks](/features/claims/coverage-checks)


## API Reference

POST /claim/{tenantLocator}/fnols — addFnol
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (FnolCreateRequest):
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator}/validate — validate
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator}/complete — complete
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator}/discard — discard
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator}/reject — reject
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator} — patchFnol
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (FnolPatchRequest):
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator}/createClaim — createClaim
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  markAsComplete (boolean, query)
Responses:
  200 — OK

GET /claim/{tenantLocator}/fnols/{locator} — getFnol
Tags: fnol-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

GET /claim/{tenantLocator}/fnols/number/{number} — getFnolByNumber
Tags: fnol-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  number (string, path, required)
Responses:
  200 — OK

GET /claim/{tenantLocator}/fnols/{locator}/claims — getFnolClaimLocators
Tags: fnol-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

GET /claim/{tenantLocator}/fnols/list — listFnol
Tags: fnol-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /claim/{tenantLocator}/fnols/policy/{policyLocator}/list — listFnolsByPolicyLocator
Tags: fnol-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  policyLocator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /claim/{tenantLocator}/fnols/{locator}/history/list — listFnolHistory
Tags: fnol-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

POST /claim/{tenantLocator}/fnols/{locator}/number/set — setFnolNumber
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  fnolNumber (string, query, required)
Responses:
  200 — OK

POST /claim/{tenantLocator}/fnols/{locator}/number/generate — generateFnolNumber
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

POST /claim/{tenantLocator}/fnols/{fnolLocator}/contacts — addFnolContact
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
Request body (ContactRoles):
Responses:
  200 — OK

DELETE /claim/{tenantLocator}/fnols/{fnolLocator}/contacts/{contactLocator} — deleteFnolContact
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
  contactLocator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{fnolLocator}/contacts/{contactLocator} — updateFnolContact
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
  contactLocator (ulid, path, required)
Request body (ContactAssociationUpdateRequest):
Responses:
  200 — OK

PUT /claim/{tenantLocator}/fnols/{locator}/losses — addLosses
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (FnolLoss[]):
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{locator}/losses/coverageCheck — checkLosses
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

DELETE /claim/{tenantLocator}/fnols/{locator}/losses — deleteLosses
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (ulid[]):
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{fnolLocator}/losses/{lossLocator}/exclude — excludeLoss
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
  lossLocator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{fnolLocator}/losses/{lossLocator}/include — includeLoss
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
  lossLocator (ulid, path, required)
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{fnolLocator}/losses/{lossLocator} — updateLoss
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
  lossLocator (ulid, path, required)
Request body (FnolLossPatchRequest):
Responses:
  200 — OK

PATCH /claim/{tenantLocator}/fnols/{fnolLocator}/losses/{lossLocator}/reset — resetLoss
Tags: fnol-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  fnolLocator (ulid, path, required)
  lossLocator (ulid, path, required)
Responses:
  200 — OK

FnolCreateRequest
Properties:
  type (string, required)
  data (map<string, object>, required)
  losses (FnolLoss[], required)
  accountLocator (ulid)
  policyLocator (ulid)
  incidentTime (datetime)
  incidentTimezone (string)
  incidentSummary (string)
  region (string)
  contacts (ContactRoles[], required)
  autoValidate (boolean, required)

FnolResponse
Properties:
  locator (ulid, required)
  type (string, required)
  data (map<string, object>, required)
  fnolState (Enum draft | validated | onClaim | completed | rejected | discarded, required)
  losses (FnolLoss[], required)
  createdAt (datetime, required)
  createdBy (uuid, required)
  accountLocator (ulid)
  policyLocator (ulid)
  segmentLocator (ulid)
  incidentTime (datetime)
  incidentTimezone (string)
  incidentSummary (string)
  region (string)
  fnolNumber (string)
  updatedAt (datetime)
  updatedBy (uuid)
  validationResult (ValidationResult)
  claims (ulid[], required)
  contacts (ContactRoles[], required)
  anonymizedAt (datetime)

FnolPatchRequest
Properties:
  setData (map<string, object>, required)
  removeData (map<string, object>, required)
  incidentTime (datetime)
  incidentTimezone (string)
  incidentSummary (string)
  region (string)
  accountLocator (ulid)
  policyLocator (ulid)

ListPageResponseFnolResponse
Properties:
  listCompleted (boolean, required)
  items (FnolResponse[], required)

ContactRoles
Properties:
  contactLocator (ulid, required)
  roles (string[], required)

FnolLoss
Properties:
  locator (ulid, required)
  type (string, required)
  category (string, required)
  fnolLossState (Enum pending | valid | excluded, required)
  exposureElementLocator (ulid)
  coverageElementLocator (ulid)
  data (map<string, object>, required)
  validationResult (ValidationResult)
  anonymizedAt (datetime)

FnolLossPatchRequest
Properties:
  type (string)
  fnolLossState (Enum pending | valid | excluded)
  exposureElementLocator (ulid)
  coverageElementLocator (ulid)
  setData (map<string, object>, required)
  removeData (map<string, object>, required)

ClaimServiceEventTypeDefinitions
Properties:
  fnolEvents (FnolEvents, required)