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:
- Account number was empty or incorrect, so was updated when talking to the lender.
- Finance type was set to Retail but was actually a Lease.
- Lender name was incorrect or updated.
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:
- IF documents with type
settlement breakdown
andvaluation report
are not available (or a document with typesettlement breakdown & valuation report
)
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:
- IF documents with type
settlement breakdown
andvaluation report
are not available (or a document with typesettlement breakdown & valuation report
)
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. |