Create a Buyback Quote
Buyback quotes let you price devices for a seller (e.g. a school district trading in old devices).
Prerequisites
- API key with scopes
buyback:readandbuyback:write
Step 1 — Look up pricing
curl "https://api.spectradiag.com/api/v1/buyback/pricing/lookup?make=Apple&model=iPhone%2013&storage=128GB&carrier=Unlocked" \
-H "Authorization: Bearer spk_live_xxx"Response:
{
"success": true,
"data": {
"sku": "APIP13128UN",
"manufacturer": "Apple",
"model": "iPhone 13",
"capacity": "128GB",
"carrier": "Unlocked",
"conditionbrokenprice": 85.00,
"conditionpoorprice": 180.00,
"conditionaverageprice": 320.00,
"conditionexcellentprice": 425.00,
"conditionnewprice": 475.00
}
}Step 2 — Create a quote
curl -X POST "https://api.spectradiag.com/api/v1/buyback/quotes" \
-H "Authorization: Bearer spk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Lincoln Elementary Spring 2026",
"client_value": 85,
"client_calc": 0
}'client_calc: 0 means the client keeps 85%. client_calc: 1 means a fixed $85 per device.
Response returns a { id: 42 }.
Step 3 — Add items to the quote
curl -X POST "https://api.spectradiag.com/api/v1/buyback/quotes/42/items" \
-H "Authorization: Bearer spk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"sku": "APIP13128UN",
"grade": "conditionaverageprice",
"sim": "Unlocked",
"quantity": 25,
"value": 320.00,
"client_share": 272.00
}'The value is what you pay; client_share is what goes to the client (if doing a percentage split).
Step 4 — Approve or decline
curl -X PATCH "https://api.spectradiag.com/api/v1/buyback/quotes/42/status" \
-H "Authorization: Bearer spk_live_xxx" \
-H "Content-Type: application/json" \
-d '{ "status": 1 }'| Status | Meaning |
|---|---|
| 0 | Declined |
| 1 | Approved |
| 2 | Pending (default) |
Webhooks
buyback.quote.createdfires when a quote is createdbuyback.quote.approvedfires on status → 1buyback.quote.declinedfires on status → 0
Subscribe via /webhooks (see Register Webhooks).