API Reference
This page provides detailed API reference for the Lightspeed Deal Update API.
Base URL
Base URI: http://int.lightspeeddataservices.com/lsapi
Authentication
All endpoints use Basic Auth with username and password associated to a Lightspeed 3PA API account.
Header: Authorization: Basic <base64(username:password)>
Endpoints
1. Deal Update Request
URL: /dealupdate/{cmf}/update/{dealid}
Method: PUT
Purpose: Update the Term and APR of the specified deal
Request Body Example
{
"term": 12,
"apr": 8.25,
"additionalDeposit": 500.00,
"units": [
{
"dealUnitId": "8888888888",
"price": 25000.00,
"freight": 350.00,
"prepParts": 200.00,
"prepLabor": 150.00,
"docFee": 199.99,
"licFee": 9.99
}
]
}Success Response (202 Accepted)
{
"metaData": {
"originalRequest": {
"term": 12,
"apr": 8.25,
"additionalDeposit": 500.00,
"units": [...]
}
},
"payload": {
"requestId": "{new request id}"
}
}Error Response (400 Bad Request)
{
"metaData": {
"originalRequest": {
"term": 12,
"apr": 8.25
}
},
"payload": {
"requestId": 0,
"error": "Error description goes here"
}
}2. Deal Update Request - Extra Lines
URL: /dealupdate/{cmf}/extras/{dealid}
Method: PUT
Purpose: Update Extra Lines for specified units in the deal
Request Body Example
{
"units": [
{
"dealUnitId": "8888888888",
"extraLines": [
{
"mappingType": "BATTERY_FEE",
"amount": 40.00,
"extralineTerm": 0
},
{
"mappingType": "SERVICE_CONTRACT",
"amount": 500.00,
"extralineTerm": 6
}
]
}
]
}3. Deal Update Request Status
URL: /dealupdate/{cmf}/requeststatus/{requestId}
Method: GET
Purpose: Check the status of a previously submitted Deal Update request
Success Response (200 OK)
{
"metaData": {
"requestId": "{request id}",
"originalRequest": {
"term": 12,
"apr": 8.25
}
},
"payload": {
"status": "PROCESSED",
"requestReceived": "2023-03-01 12:12:12",
"requestProcessed": "2023-03-01 12:14:12"
}
}Possible Status Values
WAITING_FOR_LOCK: Request is waiting to be processedPROCESSED: Request has been successfully processedFAILED: Request failed during processing
4. Finance Application Status
URL: /dealupdate/{cmf}/updatefinancestatus/{dealid}
Method: PUT
Purpose: Update deal finance application status (currently supports Octane Finance)
Request Body Example
{
"applicationFinanceStatus": "APPROVED"
}Success Response (202 Accepted)
{
"metadata": {
"originalRequest": {
"applicationFinanceStatus": "APPROVED"
}
},
"payload": {
"requestId": "{request id}"
}
}5. Update Deal Score
URL: /dealupdate/{cmf}/updatedealscore/{dealid}
Method: PUT
Purpose: Update the lead disposition score for a deal
Request Body Example
{
"score": "5"
}Success Response (202 Accepted)
{
"metaData": {
"originalRequest": {
"score": 4
}
},
"payload": {
"requestId": 785702101652356900
}
}Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
cmf | String | Yes | Dealer CMF identifier |
dealid | String | Yes | Deal identifier |
requestId | String | Yes | Request ID from previous operation |
Response Format
All responses follow this structure:
{
"metaData": {
"originalRequest": {...},
"requestId": "..."
},
"payload": {
"requestId": "...",
"status": "...",
"error": "..."
}
}Error Handling
- All errors return HTTP 400 Bad Request
- Error messages are provided in the
payload.errorfield - Original request is echoed back in
metaData.originalRequest - Request ID is set to 0 for failed requests