v2.6 — 2026-04-18
Breaking for integrators still on 2.5 drafts.- Dealer-deposit removed.
amounts.dealer_deposit_usd,amounts.dealer_refund,amounts.cancellation_refundno longer exist.POST /v1/ordersis a bid commitment, not a deposit attestation; payment is owed only onsecured. - Error codes split into resource-specific.
not_found→vehicle_not_found/order_not_found.unauthorized→missing_api_key/invalid_api_key.forbiddenandinvalid_transitionunified toinvalid_status_transition(with HTTP 403 vs 409 distinguishing partner-attempt vs state-machine). - New
422 idempotency_key_reused. Reusing an Idempotency-Key with a differentvehicle_idnow returns this distinct error rather than silently returning the original order. GET /v1/ordersfilters extended. Addedids(CSV batch lookup, max 100),from/to(half-open [from, to) oncreated_at, replaces the previouscreated_after/created_before),sortenum (created_descdefault,created_asc,auction_date_asc,updated_desc). Cursor is now sort-specific.- Facets response uses plural field names.
fuels,transmissions,sources(wasfuel,transmission,source). Explicit “no per-value counts” — UIs surface plain values. - Timestamp convention made explicit. Source UTC offset must always be preserved — never
Z-normalized. NodeDate.toISOString()flagged as not acceptable.
v2.5 — 2026-04-16
QA + business review fixes: all USD amounts are whole dollars (not cents); idempotency keys are permanent (no TTL); API key length standardized to 32 chars;fulfillment_detail write permissions clarified (LMN: export_processing/awaiting_pickup; partner: in_transit/customs optional); added auction_passed failure_reason for zombie order cleanup; added vehicle_unavailable (410) for buy-now vehicles; clarified cancellation_reason vs failure_reason mutual exclusivity; added FX risk note (auction-time rate); added post-secured disputes note (offline only).
v2.4 — 2026-04-16
Revised competitive bidding: all orders accepted (removedbid_too_low). Response includes is_highest_bid + current_max_bid_usd. outbid_internally happens at auction time, not at order creation.
v2.3 — 2026-04-16
Add competitive bidding:bid_too_low (409) with current_max_bid_usd disclosure. New failure_reason: outbid_internally. Webhook fires when lower bid is replaced.
v2.2 — 2026-04-16
Addauction_fee_usd, failure_reason, shipment fields to Order. Remove fx_snapshot from API. Updated webhook payload examples with realistic data per transition.
v2.1 — 2026-04-16
Addmax_bid_amount_usd to order creation. Add auction_count_min/max vehicle filters. Add price_drop_pct, first_price_usd to vehicle response. Full webhook spec.
v2.0 — 2026-04-16
6-state order model. Collapsed 14-state lifecycle to 6 states:proceed → acquiring → secured/failed → shipping → delivered + cancelled. Removed inspection from order lifecycle (secondary inspection is optional post-purchase service). Removed POST /v1/orders/{id}/decision and GET /v1/orders/{id}/inspection endpoints. Added fulfillment_detail field for granular shipping tracking. Added order_cutoff_at. Renamed eta_lagos → eta_destination with destination_port. Removed inspection_fee from Order amounts. Simplified cancellation to proceed-only via DELETE.