ImportOS · Docs
API reference

POST /v1/extension/lot

Add a lot to Desk: vehicle + offer for a client request

Add a lot to Desk: vehicle + offer for a client request

Creates a vehicle (source "extension"; the same lot is not duplicated) and an offer for the chosen client request. The client-facing snapshot merges lot price, auction fees and the broker fee into one line and never contains the margin. With send=true the offer is sent to the client right away (event request.offer_sent; delivery to Telegram/cabinet is done by the notification worker). Supports Idempotency-Key. Requires scope write:deals.

  • Authentication: header Authorization: Bearer rv_live_... (API keys and scopes)
  • Required scope: write:deals
Descriptions of the operation, parameters and fields come from the OpenAPI specification (openapi.json).

Parameters

FieldInTypeRequiredDescription
idempotency-keyheaderstringnoMakes a retry of this POST safe for 24 hours: the same key and body returns the stored response.

Request body

FieldTypeRequiredDescription
request_idstring (uuid)yesClient request (from GET /v1/extension/requests) the offer is made for.
lotobjectyes
lot.auction"copart" | "iaai"yes
lot.lot_idstringyes
lot.urlstring (uri)yesLink to the lot page.
lot.titlestringyes
lot.vinstringno
lot.makestringno
lot.modelstringno
lot.yearintegerno
lot.fuel"petrol" | "diesel" | "hybrid" | "phev" | "ev" | "lpg" | "cng" | "hydrogen" | "other"no
lot.engine_ccintegerno
lot.kwhnumberno
lot.mileage_kmintegerno
lot.damage_primarystringno
lot.damage_secondarystringno
lot.title_status"clean" | "salvage" | "rebuilt" | "flood" | "junk" | "parts_only" | "certificate" | "unknown"no
lot.yardstringno
lot.us_statestringno
lot.price_usdnumbernoCurrent bid or buy-now price in USD.
lot.photosstring (uri)[]no
landedobjectyes
landed.currencystringyes
landed.totalnumberyes
landed.country"UA" | "PL" | "LT" | "GE" | "DE"yes
landed.confidencenumberno
landed.itemsobject[]yesLanded cost lines in currency. The client sees them aggregated: lot, auction fees and the broker fee are merged into one "vehicle and services" line.
landed.items[].kind"lot_price" | "auction_fee" | "broker_fee" | "inland_us" | "ocean" | "port" | "inland_eu" | "customs_duty" | "excise" | "vat" | "broker_customs" | "certification" | "pension_fund" | "registration" | "repair" | "detailing" | "insurance" | "our_fee" | "other"no
landed.items[].amountnumberno
messagestringnoText for the client.
sendbooleannotrue: send the offer to the client right away (Telegram by default).
channel"telegram" | "viber" | "email" | "sms" | "webhook" | "in_app"no

Responses

201

Created.

application/json · Schema: ExtensionLotResponse

FieldTypeRequiredDescription
vehicle_idstring (uuid)yes
offer_idstring (uuid)yes
request_idstring (uuid)yes
contact_idstring (uuid)yes
status"draft" | "sent"yes
price_totalstring | nullyes
currencystring | nullyes
desk_pathstringyesPath in Desk where the request with the offer is shown.

400

Invalid request parameters or body (code validation_error).

application/problem+json · Schema: Problem

401

Missing, malformed, unknown, revoked or expired API key (code unauthorized).

application/problem+json · Schema: Problem

403

The API key lacks the scope required by this endpoint (code insufficient_scope).

application/problem+json · Schema: Problem

404

The request does not exist in this tenant.

application/problem+json · Schema: Problem

409

The offer cannot be created or sent in the current state.

application/problem+json · Schema: Problem

422

Invalid data (e.g. VIN checksum).

application/problem+json · Schema: Problem

429

Rate limit exceeded for the tenant plan (code rate_limited). Wait Retry-After seconds.

application/problem+json · Schema: Problem

On this page