Skip to main content
LMN sends webhooks to your registered URL whenever LMN-driven state changes happen on your orders. Partner-driven changes (POSTs, DELETEs, status pushes) do not fire webhooks — the API response is the confirmation.

Firing rule

Webhooks fire on these transitions:
TransitionTriggerEvent type
proceed → acquiringLMN starts bidding/purchasingorder.status_changed
acquiring → securedLMN wins/purchasesorder.status_changed
acquiring → failedLMN loses auction or purchase failsorder.status_changed
secured → shippingLMN begins export logisticsorder.status_changed
LMN updates fulfillment_detail (export_processing, awaiting_pickup)LMN logistics updateorder.fulfillment_updated
Auction source reschedules an open order’s auctionScraper detects new auction_dateorder.auction_rescheduled
Partner-initiated changes (POST orders, DELETE, POST status) do not fire webhooks.

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 polling GET /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.