Claims API

List all claims

GET /claims
  • Request:

    Name

    Position

    Type

    Required

    createdAfterTimestamp

    query

    integer

    optional

    createdBeforeTimestap

    query

    integer

    optional

    pageSize

    query

    integer

    optional

    pagingToken

    query

    string

    optional

  • Response:Claim3PageResponse

Fetch a claim

GET /claim/{claimLocator}
  • Request:

    Name

    Position

    Type

    Required

    claimLocator

    path

    string

    required

  • Response:Claim3Response

Fetch all claims for a policy

GET /policy/{policyLocator}/claims
  • Request:

    Name

    Position

    Type

    Required

    policyLocator

    path

    string

    required

  • Response:[Claim3Response]

Create a claim

POST /claim

Claim3CreateRequest

{
  // Required
  "fieldGroups" : [FieldGroupCreateRequest]
  "policyLocator" : string

  // Optional
  "fieldValues" : map<string,[string]>
  "incidentTimestamp" : integer
  "notificationTimestamp" : integer
  "status" : string pending | open
}

Claim3PageResponse

{
  // Required
  "claims" : [Claim3Response]

  // Optional
  "pagingToken" : string
}

Claim3Response

{
  // Required
  "createdTimestamp" : integer
  "currentStatus" : string pending | open | closed
  "fieldGroupsByLocator" : map<string,map<string,[string]>>
  "fieldValues" : map<string,[string]>
  "locator" : string
  "mediaByLocator" : map<string,Media>
  "policyLocator" : string
  "productName" : string
  "subClaims" : [SubClaimResponse]
  "updatedTimestamp" : integer

  // Optional
  "incidentTimestamp" : integer
  "notificationTimestamp" : integer
}

Update a claim

POST /claim/{claimLocator}/update

Claim3UpdateRequest

{
  // Required
  "addFieldGroups" : [FieldGroupCreateRequest]
  "addSubClaims" : [SubClaimCreateRequest]
  "removeFieldGroups" : [string]
  "updateFieldGroups" : [FieldGroupUpdateRequest]
  "updateSubClaims" : [SubClaimUpdateRequest]

  // Optional
  "fieldValues" : map<string,[string]>
  "incidentTimestamp" : integer
  "notificationTimestamp" : integer
  "status" : string open | closed
}

SubClaimCreateRequest

{
  // Required
  "fieldGroups" : [FieldGroupCreateRequest]
  "perilLocator" : string

  // Optional
  "expenseReserve" : ReserveSetRequest
  "fieldValues" : map<string,[string]>
  "lossReserve" : ReserveSetRequest
}

SubClaimUpdateRequest

{
  // Required
  "addFieldGroups" : [FieldGroupCreateRequest]
  "locator" : string
  "removeFieldGroups" : [string]
  "updateFieldGroups" : [FieldGroupUpdateRequest]

  // Optional
  "expenseReserve" : ReserveSetRequest
  "fieldValues" : map<string,[string]>
  "lossReserve" : ReserveSetRequest
  "status" : string open | closed
}

ReserveSetRequest

{
  // Required
  "amount" : number
}

SubClaimResponse

{
  // Required
  "claimLocator" : string
  "createdTimestamp" : integer
  "currentStatus" : string open | closed
  "expenseReserve" : ReserveResponse
  "exposureLocator" : string
  "fieldGroupsByLocator" : map<string,map<string,[string]>>
  "fieldValues" : map<string,[string]>
  "locator" : string
  "lossReserve" : ReserveResponse
  "perilLocator" : string
  "reserveCurrency" : string
  "updatedTimestamp" : integer

  // Optional
  "expenseLedger" : SubClaimLedger
  "lossLedger" : SubClaimLedger
}

Note

For brevity, ledgers are not included in the response body for List Claims requests.

ReserveResponse

{
  // Required
  "createdTimestamp" : integer
  "currentAmount" : number
  "updatedTimestamp" : integer
}

SubClaimLedger

{
  // Required
  "lineItems" : [LedgerLineItem]
}

Ledgers are line-item lists returned in JSON array format, sorted by ascending timestamp, from oldest to newest. Each ledger includes all relevant reserve updates, payables, and reversals.

LedgerLineItem

{
  // Required
  "amountChange" : number
  "changeTimestamp" : integer
  "changeType" : string payable.created | payable.reversed | reserve.updated | reserve.closed | reserve.opened | reserve.reopened
  "reserveBalance" : number

  // Optional
  "newAmount" : number
  "oldAmount" : number
  "payableLocator" : string
}

Note

The payableLocator is present if and only if the change was relevant to a payable (or reversal), and is absent in other cases. The reserveBalance and newAmount are identical, but newAmount and oldAmount are included for clarity regarding the reserve update.

Discard a claim

POST /claim/{claimLocator}/discard
  • Request:

    Name

    Position

    Type

    Required

    claimLocator

    path

    string

    required

  • Response:void

Create a subclaim payable

POST /claims/payables

SubClaimPayableCreateRequest

{
  // Required
  "amount" : number
  "reserveType" : string loss | expense
  "subClaimLocator" : string

  // Optional
  "comment" : string
  "recipient" : string
}

Get a payable

GET /claims/payables/{payableLocator}

SubClaimPayableResponse

{
  // Required
  "amount" : number
  "claimLocator" : string
  "createdTimestamp" : integer
  "locator" : string
  "reserveCurrency" : string
  "reserveType" : string loss | expense
  "subClaimLocator" : string

  // Optional
  "comment" : string
  "recipient" : string
  "reversalLocator" : string
  "reversedLocator" : string
}

Reverse a payable

POST /claims/payables/reversals

SubClaimPayableReverseRequest

{
  // Required
  "payableLocator" : string

  // Optional
  "comment" : string
}

Fetch a subclaim summary

GET /subClaim/{subClaimLocator}/summary
  • Request:

    Name

    Position

    Type

    Required

    subClaimLocator

    path

    string

    required

  • Response:SubClaimSummary

SubClaimSummary

{
  // Required
  "expensePayableAmount" : number
  "expenseReserveAmount" : number
  "lossPayableAmount" : number
  "lossReserveAmount" : number
  "reserveCurrency" : string
}

Fetch subclaim payables

GET /subClaim/{subClaimLocator}/payables

SubClaimPayableListsResponse

{
  // Required
  "expensePayables" : [SubClaimPayableResponse]
  "lossPayables" : [SubClaimPayableResponse]
  "reserveCurrency" : string
}

Fetch subclaim reserves

GET /subClaim/{subClaimLocator}/reserves

ReservesResponse

{
  // Required
  "history" : ReserveHistoryResponse
}

ReserveHistoryResponse

{
  // Required
  "expenseReserveHistory" : [ReserveVersionResponse]
  "lossReserveHistory" : [ReserveVersionResponse]
  "reserveCurrency" : string
}

ReserveVersionResponse

{
  // Required
  "amount" : number
  "timestamp" : integer
}