Firing rule
Webhooks fire on these transitions:| Transition | Trigger | Event type |
|---|---|---|
proceed → acquiring | LMN starts bidding/purchasing | order.status_changed |
acquiring → secured | LMN wins/purchases | order.status_changed |
acquiring → failed | LMN loses auction or purchase fails | order.status_changed |
secured → shipping | LMN begins export logistics | order.status_changed |
LMN updates fulfillment_detail (export_processing, awaiting_pickup) | LMN logistics update | order.fulfillment_updated |
| Auction source reschedules an open order’s auction | Scraper detects new auction_date | order.auction_rescheduled |
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 and delivers within seconds. 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 pollingGET /v1/orders/{id} instead. LMN still fires events server-side for every qualifying transition; if no URL is registered, delivery is a no-op (recorded as delivery_skipped in the event log).
Post-pilot (production volume), webhooks become required — LMN cannot support per-order polling at scale.
Self-service event history
GET /v1/orders/{id}/events returns the LMN-side event log for any order — delivery_status, attempts, last_response_code, full payload. Useful for “did I miss a webhook?” debugging without contacting LMN support.