Event families
| Family | Event type | When it fires |
|---|---|---|
| Orders | order.status_changed | LMN-owned order lifecycle transitions. |
| Orders | order.auction_rescheduled | An auction source changes the scheduled auction date for an active order. |
| Orders | order.price_updated | A watched listing price changes while an order is still placed. |
| Orders | order.re_auctioned | A vehicle tied to a terminal order appears again in a new auction round. |
| Eagle Eye | eagle_eye.match | A saved watch has additions, price changes, or removals. |
Order firing rules
| # | Trigger | By | Event type |
|---|---|---|---|
| 1 | → placed | Partner POST | — |
| 2 | placed → cancelled | Partner DELETE | — |
| 3 | placed → inspection_in_progress (optional)** | LMN | ✅ order.status_changed |
| 4 | placed → acquiring (skip inspection) | LMN | ✅ order.status_changed |
| 5 | inspection_in_progress → inspection_ready | LMN | ✅ order.status_changed |
| 6 | inspection_ready → acquiring | LMN | ✅ order.status_changed |
| 7 | inspection_ready → cancelled (inspection_failed) | LMN | ✅ order.status_changed |
| 8 | acquiring → secured | LMN | ✅ order.status_changed |
| 9 | acquiring → failed | LMN | ✅ order.status_changed |
| 10 | secured → export_processing | LMN | ✅ order.status_changed |
| 11 | export_processing → in_transit | LMN | ✅ order.status_changed |
| 12 | in_transit → customs | Partner POST | — |
| 13 | customs → delivered | Partner POST | — |
| 14 | placed → cancelled (LMN auto)* | LMN auto | ✅ order.status_changed |
| 15 | auction_date shifts † | Source reschedule | ✅ order.auction_rescheduled |
| 16 | listing_price shifts on placed † | Upstream price refresh | ✅ order.price_updated |
| 17 | Terminal vehicle re-listed † | Scraper match by license plate | ✅ order.re_auctioned |
cancellation_reason is one of auction_rescheduled_too_soon, auction_cancelled (pre-acquiring), seller_withdrew (pre-acquiring).
** Inspection is optional — placed → acquiring directly (row 4) remains valid for orders that skip inspection. inspection_in_progress and inspection_ready are LMN-owned; partners cannot set them.
† No status change — informational signal only.
Eagle Eye firing rule
eagle_eye.match fires per saved watch when LMN observes at least one change worth notifying:
| Change | Meaning |
|---|---|
additions | New vehicles match the watch’s saved buying condition. |
price_changes | Existing matches dropped enough to notify. Price increases do not emit this entry while the vehicle still qualifies. |
removals | Previously matched vehicles disappeared, completed auction, or no longer qualify. |
Delivery model — fire-and-forget
On state transition, LMN enqueues the event and returns the API/admin response immediately. A background worker picks up pending events on the cron cadence, typically within the next minute. The write path never blocks on webhook delivery. If your endpoint is slow or down, the order transition still completes immediately. Delivery is retried per the retry policy.Pilot mode — webhooks optional
For pilot integrations, you may skip registering a webhook URL and rely on polling API reads instead. LMN still records events server-side for every qualifying transition; if no URL is registered, delivery is a no-op (recorded asdelivery_skipped in the event log).
Post-pilot (production volume), webhooks become required — LMN cannot support polling at scale.
Self-service event history
LMN exposes the event log for recovery and audit:| Subject | Endpoint |
|---|---|
| Order | GET /v1/orders/{id}/events |
| Eagle Eye watch | GET /v1/eagle-eye/watches/{watch_id}/events |