ImportOS · Docs
API reference

API reference

Every Data API endpoint: parameters, request body, responses, examples. Generated from openapi.json.

This reference is generated from importos/apps/api/openapi.json when the documentation is built. If the API spec changes and the reference does not, the generate:check test fails.

Base URL

Production: https://api.importos.app (placeholder domain, the owner confirms the final one). Local: http://127.0.0.1:4114. Interactive Scalar UI is at /docs, the spec itself at /openapi.json.

Endpoints

Catalog

MethodEndpointDescription
POST/v1/catalog/parse-queryParse a natural-language car search into catalogue filters
GET/v1/catalog/searchSearch the EU used-car catalogue (natural language and/or filters)

Contacts

MethodEndpointDescription
GET/v1/contactsList and search contacts
POST/v1/contactsCreate a contact
GET/v1/contacts/{id}Get a contact
PATCH/v1/contacts/{id}Update a contact (partial)

Deals

MethodEndpointDescription
GET/v1/dealsList deals
POST/v1/dealsCreate a deal
GET/v1/deals/{id}Get a deal
POST/v1/deals/{id}/stageMove a deal to another stage

Documents

MethodEndpointDescription
POST/v1/documents/generateGenerate a document for a deal

Extension

MethodEndpointDescription
POST/v1/extension/exchangeExchange a Desk one-time code for an API key (Chrome extension sign-in)
DELETE/v1/extension/keyDisconnect the extension: revoke the key used for this request
POST/v1/extension/lotAdd a lot to Desk: vehicle + offer for a client request
GET/v1/extension/meWho this key belongs to and what it may do
GET/v1/extension/requestsOpen client requests to attach a lot to

Leads

MethodEndpointDescription
POST/v1/leadsRegister a lead

Shipments

MethodEndpointDescription
GET/v1/shipmentsShipments of a deal
POST/v1/shipmentsAttach or update the shipment of a deal
POST/v1/shipments/{id}/refreshPoll the tracker now

Underwriter

MethodEndpointDescription
POST/v1/underwriteAI underwriter: repair estimate, risk flags, resale forecast and maximum bid for a lot

Webhooks

MethodEndpointDescription
GET/v1/webhooksList webhook subscriptions
POST/v1/webhooksSubscribe a URL to events
PATCH/v1/webhooks/{id}Change or re-enable a subscription
DELETE/v1/webhooks/{id}Delete a subscription
GET/v1/webhooks/{id}/deliveriesDelivery log of a subscription
POST/v1/webhooks/{id}/rotate-secretIssue a new signing secret

Pricing

MethodEndpointDescription
GET/v1/fxExchange rate
POST/v1/landed-costLanded cost of a car imported from a US/EU auction
GET/v1/market-priceMarket price estimate (p25 / median / p75) from listings
GET/v1/rules/{country}Customs and registration rules in force
GET/v1/tariffsTariffs used for the tenant

Listings and VIN

MethodEndpointDescription
GET/v1/catalog/similarSimilar cars in the EU catalog (count and median price)
GET/v1/listings/searchNormalized search across listing sources
GET/v1/vin/{vin}Decode a VIN and list known lots/listings

MCP

MethodEndpointDescription
POST/mcpMCP endpoint (streamable HTTP, JSON-RPC 2.0)

System

MethodEndpointDescription
GET/healthzLiveness probe
GET/readyzReadiness probe (PostgreSQL + Redis)

Errors

All errors are application/problem+json (RFC 9457) with a stable code and a request_id. Details and the code table are in Authentication and limits.

On this page