ImportOS · Документація
Довідник API

POST /v1/underwrite

AI underwriter: repair estimate, risk flags, resale forecast and maximum bid for a lot

AI underwriter: repair estimate, risk flags, resale forecast and maximum bid for a lot

Analyses an auction lot in seconds: Damage Vision over the photos → repair estimate per node (from the tenant price list), risk flags (flood, airbags, odometer rollback, relist, title brands...), resale forecast from the listings cache, landed cost with repair and cost of capital → margin at p25/p50/p75 → the highest bid that still meets the target margin and a green/yellow/red verdict. Scopes: read:pricing AND read:listings. audience "broker" (full report with margin and scenarios) additionally needs write:deals; the default "client" audience never contains the company margin. Quota: Starter/trial 20 analyses per month, Pro 300, Business unlimited; over the limit → 402 quota_exceeded. A repeat call for the same VIN, date and parameters is served from cache and spends nothing. Without ANTHROPIC_API_KEY the vision step runs in demo mode (summary.vision_mode = "mock").

Опис операції, параметрів і полів походить зі специфікації OpenAPI (openapi.json) і подається англійською, як у самому API.

Параметри

ПолеДеТипОбов’язк.Опис
idempotency-keyheaderstringніMakes a retry of this POST safe for 24 hours: the same key and body returns the stored response.

Тіло запиту

ПолеТипОбов’язк.Опис
vinstringніVIN of the lot (used for the history of this VIN).
auction"copart" | "iaai" | "manheim" | "other"ні
lot_idstringніLot number at the auction.
makestringтак
modelstringтак
yearintegerтак
fuel"petrol" | "diesel" | "hybrid" | "phev" | "ev" | "lpg" | "cng" | "hydrogen" | "other"так
engine_ccintegerніRequired for every fuel type except ev.
kwhnumberніBattery capacity; required for ev.
mileage_kmnumberні
title_status"clean" | "salvage" | "rebuilt" | "flood" | "junk" | "parts_only" | "certificate" | "unknown"ні
damage_primarystringніPrimary damage as shown by the auction.
damage_secondarystringні
airbags_deployedbooleanні
runs_and_drivesbooleanні
descriptionstringніLot description / notes, used for risk flags.
lot_price_usdnumberтакCurrent bid or buy-now price in USD.
auction_yardstringніYard name, e.g. "NJ - TRENTON".
us_statestringні
photosstring (uri)[]ніPublic https URLs of lot photos (Damage Vision). Without photos the repair estimate is not made from images.
destination_country"UA" | "PL" | "LT" | "GE" | "DE"так
destination_citystringні
target_margin_pctnumberніTarget margin as a fraction (0.12 = 12%). Default: tenant setting, else 12%.
datestringні
arrival_datestringні
locale"uk" | "pl" | "en"ні
insurance"none" | "basic" | "full"ні
audience"client" | "broker"ні"client": no company margin, scenarios or cost of capital. "broker": full report; requires scope write:deals.
forcebooleanніIgnore the VIN+date cache (spends one analysis of the plan quota).

Відповіді

200

The report.

application/json · Схема: UnderwriteResponse

ПолеТипОбов’язк.Опис
report_idstring (uuid)так
cachedbooleanтакtrue: a report for the same VIN, date and parameters existed (no quota spent).
audience"client" | "broker"так
usageobjectтак
usage.monthstringтак
usage.usedintegerтак
usage.limitinteger | nullтакnull: unlimited.
summaryobjectтак
summary.signal"green" | "yellow" | "red"так
summary.verdictstringтакgood | ok | risky | no
summary.currencystringтакCurrency of landed cost / margin figures.
summary.max_bid_usdnumber | nullтакHighest bid (USD) that still meets the target margin; null if none.
summary.max_bid_conservative_usdnumber | nullтакSame with repair at its maximum and resale at p25. null for the client audience.
summary.repair_usdobjectтак
summary.landed_totalnumber | nullтакTurnkey cost including the repair estimate, in currency. null for the client audience.
summary.margin_pctnumber | nullтакMargin at the median resale price (fraction). null for the client audience.
summary.margin_absnumber | nullтак
summary.resale_mediannumber | nullтакForecast median resale price in currency. null for the client audience.
summary.flagsobject[]так
summary.explanationstringтакPlain-language explanation in the requested locale.
summary.warningsstring[]так
summary.typicalobjectтак
summary.vision_modestringтакlive | mock | none: mock means no ANTHROPIC_API_KEY (demo mode).
reportobjectтакThe full report (schema version 1): subject, vision, repair, flags, forecast, verdict, explanations, cost, typical, warnings.

400

Invalid request parameters or body (code validation_error).

application/problem+json · Схема: Problem

401

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

application/problem+json · Схема: Problem

402

The monthly analysis quota of the plan is used up (code quota_exceeded).

application/problem+json · Схема: Problem

403

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

application/problem+json · Схема: Problem

422

Not enough data to analyse the lot (e.g. engine_cc missing).

application/problem+json · Схема: Problem

429

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

application/problem+json · Схема: Problem

502

FX provider unavailable.

application/problem+json · Схема: Problem

На цій сторінці