NAV

Introduction

Welcome to the LossExpress Carrier API! This API is designed for use by insurance carriers interested in triggering processing events within LossExpress and viewing the results of those events.

When going through the integration process with your organization’s systems and LossExpress, it’s important to keep in mind the idea at the core of the LossExpress product and underlying APIs: we act simply as a conduit of information, from carriers to lenders.

As a result, we have done our best when building out this API to give the power to make decisions to the carrier (where that power belongs), not ourselves.

Testing

Upon receiving authentication credentials, carriers are initially put into a testing phase. This is a sandbox environment where you can create and manipulate claims - and make mistakes - without affecting production data or processes. Once testing has been thoroughly completed, let us know and we will take you out of the testing phase.

Test VINs

During testing, you can create claims with these VINs to trigger actions which emulate ones that LossExpress or lenders may make for a claim.

VIN Action
JHMGE8H35DC074448 LossExpress sends a direct message for the claim
JHMGE8H35DC075558 Payoff information is attached to the claim
JHMGE8H35DC076668 Loss Express updates the claim's information
1GCHC29U62E142306 Loss Express calls the claim's lender
1GCHC29U62E147776 Loss Express attaches a document to the claim
JHMFA36246S006140 LossExpress sends a document to the claim's lender
JN1CV6AP7CM621670 A letter of guarantee is attached to the claim
1FAHP3EN7BW114135 The lender countered for the settlement

Authentication

Our Carrier API utilizes a standard OAuth 2.0 Client Credentials flow, where the external server authenticates itself using a provided client ID and client secret and is provided an access token that will be used on every request.

Once a token has been received, every request is expected to have a header that looks like the following:

Authorization: Bearer exampletokenbutreplacewithyourown

HTTP Request

POST https://xapi.lossexpress.com/oauth/token

This route is for generating OAuth tokens that can be used for all other requests.

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description
clientId Your unique identifier in Loss Express systems
secret An OAuth secret provided by Loss Express

Activity Feed

Activities

LossExpress provides a simple way to view events that have taken place within our system, relevant to an organization’s claims. Our Activity Feed provides access to all scoped activities while allowing for a large variety of filtering options to suit any organization’s needs. One of our core tenants at LossExpress is transparency, so you may find that we provide access to too many activities. Feel free to use only what’s important to your organization!

As a general rule, all Activity objects include the following keys:

Key Description
createdAt GMT timestamp marking when the Activity occured in our system
claimId The LossExpress UUID given to the claim the Activity occurred on
type A string containing one of the available Activity Types
claimNumber The claim number entered for the claim the Activity occurred on
data An object containing relevant information for the Activity
activityId A GUID uniquely identifying the activity

Fetch Activities

This route returns a paginated set of results that looks like this:

{
  "requestUrl": "https://xapi.lossexpress.com/activities?createdBefore=2021-01-08T22:03:09.598Z",
  "results": [
    ...array of activity objects
  ],
  "pagination": {
    "pageSize": 100,
    "page": 0,
    "totalPages": 3,
    "totalResults": 296
  }
}

Note that the result will return a requestUrl object, which will allow you to perfectly replay the request.

This route will allow you to view Activities.

HTTP Request

GET https://xapi.lossexpress.com/activities

Query Parameters

Parameter Default Description
types all A comma separated list of types to view
createdBefore current time Allows for filtering activities to only those that were created before a certain timestamp
createdAfter 30 minutes earlier Allows for filtering activities to only those that were created after a certain timestamp
pageSize 100 Sets the size of pages in paginated results. Maximum is currently 500.
pageNumber 0 Sets the zero-indexed page number in paginated results.
claimId Filters the activities to only contain activities for the specific LossExpress Claim ID.
activityId Show activity types starting from the activity and moving into the future.

Note

You can only supply activityId or createdBefore in a request, not both.

Trigger Activities (Testing)

This route enables you to trigger a variety of activities that would typically be triggered by actions taken by our claim fulfillment specialists.

HTTP Request

POST https://xapi.lossexpress.com/activities/trigger-activity/{claimId}

Query Parameters

Parameter Description
activityType Must be one of: 'direct-message-added', 'document-sent-to-lender', 'letter-of-guarantee-added', 'payoff-data-added', 'claim-updated', 'call-made', 'document-added', 'settlement-counter-added', 'payoff-request-cancelled'

Activity Types

List of Types

Below is a list of Activity Types that will be available within the Activity Feed:

Type Will appear when...
account-number-viewed Account number is viewed
call-made A call is made by LossExpress
claim-created A claim is originally created
claim-updated A claim's primary information is updated
direct-message-added A direct message is added to a claim
document-added A document is added to a claim
document-sent-to-lender A document is sent to a lender
letter-of-guarantee-added A letter of guarantee is added to a claim
letter-of-guarantee-request-created A letter of guarantee request is created on a claim
letter-of-guarantee-request-cancelled A letter of guarantee request on a claim has been cancelled
lender-alias-verified A lender has been verified as an alias of an existing lender
new-lender-verified A lender has been verified as a new lender to our system
order-created A new order has been added to a claim
order-cancelled An order on a claim has been cancelled
order-fulfilled An order on a claim has been successfully fulfilled
order-updated An order on a claim has been updated
payment-sent Payment has been sent for a claim
payoff-data-added Payoff information is added to a claim
payoff-request-created A payoff request is created on a claim
payoff-request-cancelled A payoff request on a claim has been cancelled
settlement-counter-added A lender adds a counter to the proposed settlement amount
settlement-counter-updated The settlement counter is either accepted or disputed by the carrier

account-number-viewed

account-number-viewed example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "account-number-viewed",
  "claimNumber": "EXAMPLE1",
  "data": {
    "viewedByLossExpress": true
  }
}

This activity type will appear in the feed whenever an account number is viewed by someone on LossExpress.

call-made

call-made example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "call-made",
  "claimNumber": "EXAMPLE2",
  "data": {
    "callLength": 30 // in minutes
  }
}

This activity type will appear in the feed whenever a call was made on behalf of the carrier by LossExpress.

claim-created

claim-created example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "claim-created",
  "claimNumber": "EXAMPLE3",
  "data": {
    "accountNumber": "TEST-AN",
    "adjusterName": "Mike Mclaren",
    "adjusterEmailAddress": "mike@lossexpress.com",
    "adjusterPhoneNumber": "+13332225555",
    "causeOfLoss": "Fire",
    "dateOfLoss": "2020-10-20",
    "deductible": 400,
    "financeType": "Retail",
    "insurerType": "First Party",
    "lenderName": "Test Lender",
    "lenderId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
    "odometer": 39993,
    "ownersName": "Test Owner",
    "ownersPhoneNumber": "+12223334444",
    "ownerRetained": false,
    "ownersStreetAddress": "12200 Test Avenue Dallas TX 75204",
    "settlementAmount": 5553,
    "titleRemittanceAddress": "1000 Main Street Dallas TX 75204",
    "vehicle": {
      "make": "TEST",
      "model": "Car",
      "year": 2034
    },
    "vehicleLocation": "1200 Main Street Dallas TX 75204",
    "vin": "1N4AL3AP8JC231503"
  }
}

This activity type will appear in the feed whenever a claim is created in our system by a carrier. This activity will contain in its data all claim information that had been passed on create along with Make/Model/Year information for the VIN passed, if available. Any information not sent on creation will not appear in the data object and would appear as undefined when parsed.

If desired, we do give carriers the ability to not have account numbers added to this event type for security purposes.

claim-updated

claim-updated example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "claim-updated",
  "claimNumber": "EXAMPLE3",
  "data": {
    "update": { // contains the updated information
      "accountNumber": "TEST-AN1"
    },
    "previous": { // contains the information just prior to update
      "accountNumber": "TEST-AN"
    },
    "updatedByLossExpress": true
  }
}

This activity type will appear in the feed whenever primary claim information is updated. In LossExpress, we define primary claim information as any piece of data that can be sent in the update or create claim routes.

Note that this activity type could be triggered by actions made by LossExpress. Some examples that could cause LossExpress to trigger this activity type:

direct-message-added

direct-message-added example object (sent by LossExpress)

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "direct-message-added",
  "claimNumber": "EXAMPLE3",
  "data": {
    "sentByLossExpress": true,
    "message": "Settlement amount appears to differ from documents. Please update.",
    "actionRequired": true
  }

direct-message-added example object (sent by carrier user)

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "direct-message-added",
  "claimNumber": "EXAMPLE3",
  "data": {
    "sentByLossExpress": false,
    "message": "The LoG looks to have the wrong settlement amount, please get an LoG with the proper amount. Thanks!",
    "sentBy": "User Name",
    "actionRequired": false
  }
}

This activity type will appear in the feed whenever a direct message is added to a claim, either by LossExpress or by a carrier user.

document-added

document-added example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "document-added",
  "claimNumber": "EXAMPLE3",
  "data": {
    "type": "settlement breakdown",
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  }
}

This activity type will appear in the feed whenever a document has been added to a claim.

document-sent-to-lender

document-sent-to-lender example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "document-sent-to-lender",
  "claimNumber": "EXAMPLE3",
  "data": {
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  }
}

This activity type is added to the feed whenever a document is sent by LossExpress to the lender for a particular claim. The documentUrl contains a link to the document that was sent to the lender.

letter-of-guarantee-added

letter-of-guarantee-added example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "letter-of-guarantee-added",
  "claimNumber": "EXAMPLE3",
  "data": {
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  }
}

This activity type is added to the feed whenever a letter of guarantee is added to a claim. The documentUrl contains a link to the letter of guarantee that was received.

letter-of-guarantee-request-created

letter-of-guarantee-request-created example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "letter-of-guarantee-request-created",
  "claimNumber": "EXAMPLE3",
  "data": {
    "estimatedResponseTime": "2021-01-20T22:03:09.598Z"
  }
}

This activity type is added to the feed whenever a letter of guarantee request is created for a claim.

Note that although we typically request letters of guarantee whenever we reach out to a lender, we do not follow-up on the status of letters of guarantee nor can we absolutely guarantee that a letter of guarantee will be added to a claim unless a letter of guarantee request is created on a claim.

letter-of-guarantee-request-cancelled

letter-of-guarantee-request-cancelled example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "letter-of-guarantee-request-cancelled",
  "claimNumber": "EXAMPLE3",
  "data": {}
}

This activity type is added to the feed whenever a letter of guarantee request is cancelled for a claim.

lender-alias-verified

lender-alias-verified example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "lender-alias-verified",
  "claimNumber": "EXAMPLE3",
  "externalId": "COO-30022",
  "data": {
    "previousLenderId": "4ace4d96-2b7f-425e-a3c7-d162879a792b",
    "lenderId": "a720ef63-e6f5-4fed-bbf8-0edcd6eb8485",
    "lenderName": "EXAMPLE NEW LENDER ALIAS"
  }
}

This activity type is added to the feed whenever a lender is verified as an alias for an existing lender.

new-lender-verified

new-lender-verified example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "new-lender-verified",
  "claimNumber": "EXAMPLE3",
  "externalId": "COO-30022",
  "data": {
    "lenderId": "a720ef63-e6f5-4fed-bbf8-0edcd6eb8485",
    "lenderName": "EXAMPLE NEW LENDER"
  }
}

This activity type is added to the feed whenever a lender is verified as a new lender to our system.

order-created

order-created example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "order-created",
  "claimNumber": "EXAMPLE3",
  "data": {
    "orderId": "24907dea-2bd2-4547-bae6-8305b4256256",
    "orderType": "Copy of Title"
  }
}

This activity type is added to the feed whenever an order is created for a claim.

order-cancelled

order-cancelled example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "order-cancelled",
  "claimNumber": "EXAMPLE3",
  "data": {
    "orderId": "24907dea-2bd2-4547-bae6-8305b4256256"
  }
}

This activity type is added to the feed whenever an order is cancelled for a claim.

order-fulfilled

order-fulfilled example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "order-fulfilled",
  "claimNumber": "EXAMPLE3",
  "data": {
    "orderId": "24907dea-2bd2-4547-bae6-8305b4256256",
    "orderType": "Copy of Title",
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  }
}

This activity type is added to the feed whenever an order is fulfilled for a claim. If the order utilizes a document, it can be accessed via the documentUrl.

order-updated

order-updated example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "order-updated",
  "claimNumber": "EXAMPLE3",
  "data": {
    "orderId": "24907dea-2bd2-4547-bae6-8305b4256256",
    "nextFollowupDate": "2021-08-31"
  }
}

This activity type is added to the feed whenever an order is updated for a claim.

payment-sent

payment-sent example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "payment-sent",
  "claimNumber": "EXAMPLE3",
  "data": {
    "checkAmount": 20000,
    "sentAt": "2021-01-08T22:03:09.598Z",
    "sentTo": {
      "streetAddress": "1000 Main Street",
      "streetAddress2": "Ste. 500",
      "city": "Dallas",
      "state": "TX",
      "zipCode": "75204"
    },
    "sentVia": "USPS",
    "trackingNumber": "EXAMPLENUMBER"
  }
}

This activity type is added to the feed whenever acknowledgement that payment has been sent has been added to LossExpress; this can be trigged by either the carrier or our payment processing partner, if that partner is enabled in the carrier's system and set-up properly in LossExpress.

payoff-data-added

payoff-data-added example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "payoff-data-added",
  "claimNumber": "EXAMPLE3",
  "data": {
    "payoffAmount": 10222.33,
    "perDiem": 2.3,
    "validThroughDate": "2021-01-18T00:00:00.000Z",
    "remittanceInformation": {
      "standard": {
        "makeCheckPayableTo": "ALLY FINANCIAL",
        "attn": "ATTN LINE",
        "streetAddress": "1000 Main Street",
        "streetAddress2": "Ste. 500",
        "city": "Dallas",
        "state": "TX",
        "zipCode": "75204"
      },
      "overnight": {
        "makeCheckPayableTo": "ALLY FINANCIAL",
        "attn": "ATTN LINE",
        "streetAddress": "1000 Main Street",
        "streetAddress2": "Ste. 500",
        "city": "Dallas",
        "state": "TX",
        "zipCode": "75204"
      }
    }
  }
}

This activity type is added to the feed whenever payoff data is added to a claim.

payoff-request-created

payoff-request-created example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "payoff-request-created",
  "claimNumber": "EXAMPLE3",
  "data": {}
}

This activity type is added to the feed whenever a payoff request is created on a particular claim.

payoff-request-cancelled

payoff-request-cancelled example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "payoff-request-cancelled",
  "claimNumber": "EXAMPLE3",
  "data": {}
}

This activity type is added to the feed whenever a payoff request is cancelled on a particular claim.

settlement-counter-added

settlement-counter-added example object

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "settlement-counter-added",
  "claimNumber": "EXAMPLE3",
  "data": {
    "description": "missing options",
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  }
}

This activity type is added to the feed whenever a settlement counter is added to a claim by a lender. Typically, this comes with a document that can be accessed via the documentUrl.

settlement-counter-updated

settlement-counter-updated example object (dispute)

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "settlement-counter-updated",
  "claimNumber": "EXAMPLE3",
  "data": {
    "disputed": true,
    "reasonForDispute": "Vehicle is not missing any options, verified in person."
  }
}

settlement-counter-updated example object (accepted)

{
  "activityId": "fed62fa0-c048-46b5-b994-6e3e69fb0f37",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "type": "settlement-counter-updated",
  "claimNumber": "EXAMPLE3",
  "data": {
    "disputed": false,
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  }
}

This activity type is added to the feed whenever a settlement counter is either accepted or disputed by the carrier. documentUrl will contain a link to the settlment breakdown passed to the lender with the new settlement amount.

Claims

Example Claim Object

{
  "accountNumber": "TEST-AN",
  "adjusterName": "Mike Mclaren",
  "adjusterEmailAddress": "mike@lossexpress.com",
  "adjusterPhoneNumber": "+13332225555",
  "causeOfLoss": "Fire",
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "claimNumber": "EXAMPLE3",
  "createdAt": "2021-01-08T22:03:09.598Z",
  "dateOfLoss": "2020-10-20",
  "deductible": 400,
  "documents": [
    {
      "createdAt": "2021-01-08T22:03:09.598Z",
      "updatedAt": "2021-01-08T22:03:09.598Z",
      "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f",
      "type": "settlement breakdown & valuation report"
    }
  ],
  "financeType": "Retail",
  "insurerType": "First Party",
  "lenderName": "Test Lender",
  "lenderId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "letterOfGuaranteeRequest": {
    "createdAt": "2021-01-08T22:03:09.598Z",
    "updatedAt": "2021-01-08T22:03:09.598Z",
    "documentUrl": "https://xapi.lossexpress.com/documents/555ae9da-9222-4de5-81fe-fe1ac590fa0f"
  },
  "odometer": 39993,
  "ownersName": "Test Owner",
  "ownersPhoneNumber": "+12223334444",
  "ownerRetained": false,
  "ownersStreetAddress": "12200 Test Avenue Dallas TX 75204",
  "payoffData": {
    "createdAt": "2021-01-08T22:03:09.598Z",
    "updatedAt": "2021-01-08T22:03:09.598Z",
    "payoffAmount": 10222.33,
    "perDiem": 2.3,
    "validThroughDate": "2021-01-18T00:00:00.000Z",
    "remittanceInformation": {
      "standard": {
        "makeCheckPayableTo": "ALLY FINANCIAL",
        "attn": "ATTN LINE",
        "streetAddress": "1000 Main Street",
        "streetAddress2": "Ste. 500",
        "city": "Dallas",
        "state": "TX",
        "zipCode": "75204"
      },
      "overnight": {
        "makeCheckPayableTo": "ALLY FINANCIAL",
        "attn": "ATTN LINE",
        "streetAddress": "1000 Main Street",
        "streetAddress2": "Ste. 500",
        "city": "Dallas",
        "state": "TX",
        "zipCode": "75204"
      }
    }
  },
  "settlementAmount": 5553,
  "titleRemittanceAddress": "1000 Main Street Dallas TX 75204",
  "updatedAt": "2021-01-08T22:03:09.598Z",
  "vehicle": {
    "make": "TEST",
    "model": "Car",
    "year": 2034
  },
  "vehicleLocation": "1200 Main Street Dallas TX 75204",
  "vin": "1N4AL3AP8JC231503"
}

The routes in the section are scoped specifically to claims. Our Carrier API provides a couple ways to search and fetch claim information on top of the ability to create claims.

The Claim object itself contains the following keys:

Object Key Description
accountNumber The customer's account number for the loan associated with the claim
adjusterName The primary adjuster for the claim
adjusterEmailAddress The email address associated with the primary adjuster for the claim
adjusterPhoneNumber The phone number associated with the primary adjuster for the claim
causeOfLoss The cause of loss listed on the claim. These causes can be one of the following: "Single-Vehicle Collision", "Multi-Vehicle Collision", "Wind/Hail", "Fire", "Flood", "Vandalism", "Theft", "Other"
claimId The LossExpress UUID associated with the claim
claimNumber The claim number as noted by the carrier
createdAt The timestamp the claim was created in the system
dateOfLoss The date the loss occurred
deductible The current deductible for the payoff
documents An array of Document objects
financeType Either "Retail" or "Lease"
insurerType Either "First Party" or "Third Party"
lenderName The lender's name
lenderId The LossExpress UUID associated with that lender, if that lender exists in our lender database
letterOfGuaranteeRequest A letter of guarantee request object, containing basic information about the letter of guarantee request
odometer The mileage on the vehicle associated with the claim
ownersName The vehicle owner's name
ownersPhoneNumber The vehicle owner's phone number
ownersRetained Whether the owner is retaining the vehicle (boolean)
ownersStreetAddress The full address of the vehicle owner
payoffData A Payoff Data object
settlementAmount The settlement amount for the claim
titleRemittanceAddress The full address that the vehicle title should be sent to
updatedAt The timestamp the claim was last updated; this can happen in a number of scenarios and is not recommended to be used to track claim changes - please use the activity feed instead
vehicle A vehicle object containing the make, model, and year of the vehicle, if available
vehicleLocation The full address where the vehicle is located, if different from the titleRemittanceAddress
vin The Vehicle Identification Number for the vehicle on the claim

Fetch Claim

Example Response:

{
  "claim": ...claim object,
  "requestUrl": "https://xapi.lossexpress.com/claims/c30ae9da-9222-4de5-81fe-fe1ac590fa0f"
}

This route allows for access to a claim's data in one location.

HTTP Request

GET https://xapi.lossexpress.com/claims/{claimId}

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Create Claim

Create Claim Response:

STATUS 201

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f"
}

This route creates a claim in LossExpress, which can be used to generate requests. Please note that our billing may currently or in the future consider all claims in our system, so be sure to only add claims that will eventually be worked on by us to avoid excess charges.

HTTP Request

POST https://xapi.lossexpress.com/claims

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
accountNumber The customer's account number for the loan associated with the claim Y
adjusterName The primary adjuster for the claim N
adjusterEmailAddress The email address associated with the primary adjuster for the claim N
adjusterPhoneNumber The phone number associated with the primary adjuster for the claim N
causeOfLoss The cause of loss listed on the claim. These causes can be one of the following: "Single-Vehicle Collision", "Multi-Vehicle Collision", "Wind/Hail", "Fire", "Flood", "Vandalism", "Theft", "Other" Y
claimNumber The claim number as noted by the carrier Y
dateOfLoss The date the loss occurred Y
deductible The current deductible for the payoff Y
financeType Either "Retail" or "Lease" Y
insurerType Either "First Party" or "Third Party" Y
lenderName The lender's name Y
lenderPhoneNumber The lender's phone number N
lenderAddress The lender's address - an object with keys consisting of streetAddress, streetAddress2 (suite #, etc), city, state, zipCode N
odometer The mileage on the vehicle associated with the claim Y
ownersName The vehicle owner's name Y
ownersPhoneNumber The vehicle owner's phone number Y
ownersRetained Whether the owner is retaining the vehicle (boolean) Y
ownersStreetAddress The full address of the vehicle owner Y
settlementAmount The settlement amount for the claim Y
titleRemittanceAddress The full address that the vehicle title should be sent to Y
vehicleLocation The full address where the vehicle is located, if different from the titleRemittanceAddress N
vin The Vehicle Identification Number for the vehicle on the claim Y

Update Claim

Update Claim response body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  ...claim object (with updated claim info)
}

This route allows for updating a claim. It is recommended that you only pass in data that has been changed, as opposed to a full object payload. This is recommended to reduce the size and complexity of claim-updated activities.

HTTP Request

PUT https://xapi.lossexpress.com/claims/{claimId}

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
accountNumber The customer's account number for the loan associated with the claim N
adjusterName The primary adjuster for the claim N
adjusterEmailAddress The email address associated with the primary adjuster for the claim N
adjusterPhoneNumber The phone number associated with the primary adjuster for the claim N
causeOfLoss The cause of loss listed on the claim. These causes can be one of the following: "Single-Vehicle Collision", "Multi-Vehicle Collision", "Wind/Hail", "Fire", "Flood", "Vandalism", "Theft", "Other" N
claimNumber The claim number as noted by the carrier N
dateOfLoss The date the loss occurred N
deductible The current deductible for the payoff N
financeType Either "Retail" or "Lease" N
insurerType Either "First Party" or "Third Party" N
lenderName The lender's name N
odometer The mileage on the vehicle associated with the claim N
ownersName The vehicle owner's name N
ownersPhoneNumber The vehicle owner's phone number N
ownersRetained Whether the owner is retaining the vehicle (boolean) N
ownersStreetAddress The full address of the vehicle owner N
settlementAmount The settlement amount for the claim N
titleRemittanceAddress The full address that the vehicle title should be sent to N
vehicleLocation The full address where the vehicle is located, if different from the titleRemittanceAddress N
vin The Vehicle Identification Number for the vehicle on the claim N

Search Claims

Search Claims response body:

Status: 200

{
  "claims": [
    ...claim information
  ],
}

This route allows for searching our claims database for records. This route can return multiple claims in certain scenarios.

HTTP Request

GET https://xapi.lossexpress.com/claims

Query Parameters

Parameters Description
vin Vehicle Identification Number to search by
claimNumber Claim number to search by (case insensitive)

Direct Messages

Create Direct Message

Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "message": "Test message."
}

This route allows for sending a direct message to our Claim Specialists.

HTTP Request

POST https://xapi.lossexpress.com/claims/{claimId}/direct-messages

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
message The direct message to be sent to LossExpress Y

Documents

Document Types

Some documents are required in order to receive a payoff quote. The standard document types for a claim are:

Description Required
settlement breakdown Y (if carrier configuration does not allow combined documents)
valuation report Y (if carrier configuration does not allow combined documents)
valuation report & settlement breakdown Y (if carrier configuration allows combined documents)
cause of loss N
police report N
declaration page N

Add Document to Claim

Example Response Body:

{
  "documentUrl": "https://xapi.lossexpress.com/documents/c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
}

This route allows for adding documents to claims

HTTP Request

POST https://xapi.lossexpress.com/claims/documents/{claimId}

Request Body

This route accepts a JSON payload of an object comprising of:

Parameter Description
document A base64-encoded file string. Acceptable formats: pdf, jpeg, jpg, tiff, gif, png
description A brief description of the document (eg, Settlement Breakdown)

Letter of Guarantee Requests

Create Letter of Guarantee Request

Create Letter of Guarantee Request Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "turnAroundTimeEstimate": "2021-01-08T22:03:09.598Z"
}

This route will throw a 400: BAD REQUEST if it fails due to lack of information on a claim.

Create Letter of Guarantee Request Example Error Response:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Claim is missing one or more required documents: 'settlement breakdown' & 'valuation report'"
}

This route will create a letter of guarantee request on a claim. The letter of guarantee request can be added at any time, but will fail when:

HTTP Request

POST https://xapi.lossexpress.com/claims/{claimId}/letter-of-guarantee-request

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Cancel Letter of Guarantee Request

Cancel Letter of Guarantee Request Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "success": true
}

This route will throw a 404: NOT FOUND if a Letter of Guarantee request is not available on the claim.

Cancel Letter of Guarantee Request Example Error Response:

{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Letter of Guarantee does not exist for this claim."
}

This route will cancel a letter of guarantee request on a claim. This route will return an error if a letter of guarantee request has not been added on a claim yet.

This route will not return an error if a letter of guarantee request has been previously cancelled or completed.

HTTP Request

DELETE https://xapi.lossexpress.com/claims/{claimId}/letter-of-guarantee-request

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Orders

Fetch Order Types

Fetch Order Types Request Example Response Body

{
  "orderTypes": ["...array of current order types"],
  "success": true
}

This route returns an array of strings, which consist of the current types of orders that can be requested on a claim.

HTTP Request

GET https://xapi.lossexpress.com/claims/order-types

Create Order(s) Request

Create Order(s) Request Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "orders": [
    {
      "orderId": "3e8c38f3-f4ef-4414-88da-1793d25ef6f0", 
      "type": "Repo Affidavit"
    }, 
    {
      "orderId": "77462941-7b6c-4bd0-9749-588c32654864",
      "type": "Copy of Title"
    }
  ],
  "success": true
}

This route will create a new order on a claim.

HTTP Request

POST https://xapi.lossexpress.com/claims/{claimId}/orders

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
types An array containing strings with types of orders to be created Y

Cancel Order(s) Request

Cancel Order(s) Request Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "success": true
}

HTTP Request

DELETE https://xapi.lossexpress.com/claims/{claimId}/cancel-orders

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
orderIds An array containing orderIds of orders to be cancelled Y

Payments

Acknowledge Payment Sent

We offer support for carriers to give us acknowledgement that payment has been sent to the lender. Enabling this allows us to more effectively answer questions directed at us by lenders regarding payment status. Additionally, this step can be skipped if an integration with our designated payment processing partner has been enabled.

HTTP Request

POST https://xapi.lossexpress.com/claims/{claimId}/payoff-sent

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
sentTo An object containing streetAddress, streetAddress2, city, state, and zipCode keys N
trackingNumber A string containing the relevant tracking number for the check N
sentVia A string describing how the check was sent; mailing provider if sent via mail N
sentAt A JSON date that the payment was sent Y
checkAmount An integer describing the amount sent Y

Payoff Requests

Create Payoff Request

Create Payoff Request Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f"
}

This route will throw a 400: BAD REQUEST if the payoff request fails due to missing information on the claim.

Create Payoff Request Example Error Response:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Claim is missing one or more required documents: 'settlement breakdown' & 'valuation report'"
}

This route will create a payoff request on a claim. The request will fail when:

HTTP Request

POST https://xapi.lossexpress.com/claims/{claimId}/payoff-request

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Cancel Payoff Request

Cancel Payoff Request Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "success": true
}

This route will throw a 404: NOT FOUND if a Payoff request is not available on the claim.

Cancel Payoff Request Example Error Response:

{
  "statusCode": 404,
  "error": "Not Found",
  "message": "A payoff request does not exist for this claim."
}

This route will cancel a payoff request on a claim. This route will return an error if a payoff request has not been added on a claim yet.

This route will not return an error if a payoff request has been previously cancelled or completed.

HTTP Request

DELETE https://xapi.lossexpress.com/claims/{claimId}/payoff-request

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Settlement Counter

Accept or Dispute Counter

Example Response Body:

{
  "claimId": "c30ae9da-9222-4de5-81fe-fe1ac590fa0f",
  "success": true
}

This route will throw a 404: NOT FOUND if there are no settlement counters present on the claim.

Example Error Response:

{
  "statusCode": 404,
  "error": "Not Found",
  "message": "A settlement counter does not exist for this claim."
}

This route allows for either accepting or disputing a settlement counter presented by a lender.

To accept a counter, you must send a new settlement breakdown document. To dispute a counter, you must set dispute to true and provide a reasonForDispute.

This route will throw an error if there are no settlement counters.

HTTP Request

POST https://xapi.lossexpress.com/claims/{claimId}/settlement-counter

URL Parameters

Parameter Description
claimId The LossExpress UUID associated with the claim

Request Body

This route accepts a JSON payload of an object comprising of:

Body Parameter Description Required?
dispute True if it should be disputed, false otherwise (boolean) Y
settlementBreakdown Y if not dispute
reasonForDispute Message containing the reason for dispute Y if dispute

Errors

400 Bad Request Example Error Response:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "vin is required",
  "validation": {
    "errors": [
      {
        "key": [
          "vin"
        ],
        "path": [
          "vin"
        ],
        "message": "vin is required",
        "type": "any",
        "constraint": "required",
        "label": "vin"
      }
    ]
  }
}

401 Auth Token Example Error Response:

{
  "statusCode": 401,
  "error": "Unauthorized",
  "message": "The provided token has expired."
}

403 Forbidden Example Error Response:

{
  "statusCode": 403,
  "error": "Forbidden",
  "message": "This claim is not available during testing."
}

500 Internal Server Error Example Error Response:

{
  "statusCode": 500,
  "error": "Internal Server Error",
  "message": "An internal server error occurred"
}

Our Carrier API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- You do not have access to that route.
404 Not Found -- The specified information could not be found.
405 Method Not Allowed -- You tried to access a route with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.