GET /v1/deals/{id}
Get a deal
Get a deal
The deal with its contact, vehicle, stage history, SLA and the transitions available to this key. Deals of other tenants are 404. Requires scope write:deals.
- Authentication: header
Authorization: Bearer rv_live_...(API keys and scopes) - Required scope:
write:deals
openapi.json).Parameters
| Field | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string (uuid) | yes | Resource id (UUID). |
Responses
200
The deal.
application/json · Schema: DealDetail
| Field | Type | Required | Description |
|---|---|---|---|
deal | object | yes | |
deal.id | string (uuid) | yes | |
deal.number | string | yes | |
deal.status | "lead" | "consult" | "contract_signed" | "deposit_paid" | "searching" | "bid_approved" | "won" | "paid_to_auction" | "pickup_scheduled" | "at_us_warehouse" | "loaded" | "in_transit_sea" | "at_eu_port" | "inland_to_border" | "customs_clearing" | "customs_cleared" | "certification" | "registration" | "ready_for_handover" | "handed_over" | "closed" | "lost" | "cancelled" | "on_hold" | "dispute" | yes | |
deal.pausedFrom | "lead" | "consult" | "contract_signed" | "deposit_paid" | "searching" | "bid_approved" | "won" | "paid_to_auction" | "pickup_scheduled" | "at_us_warehouse" | "loaded" | "in_transit_sea" | "at_eu_port" | "inland_to_border" | "customs_clearing" | "customs_cleared" | "certification" | "registration" | "ready_for_handover" | "handed_over" | "closed" | "lost" | "cancelled" | "on_hold" | "dispute" | null | yes | |
deal.type | "full_service" | "auction_only" | "logistics_only" | "resale" | yes | |
deal.route | "sea" | "land" | yes | |
deal.currency | "UAH" | "USD" | "EUR" | "PLN" | "GEL" | yes | |
deal.contactId | string (uuid) | yes | |
deal.managerId | string | null (uuid) | yes | |
deal.vehicleId | string | null (uuid) | yes | |
deal.destinationCountry | string | null | yes | |
deal.destinationCity | string | null | yes | |
deal.etaDelivery | string | null | yes | ISO 8601 date-time (UTC). |
deal.stageDates | object | yes | stage -> time of entering it. |
deal.trackingToken | string (uuid) | yes | Token of the public tracking page (Track). |
deal.trackingEnabled | boolean | yes | |
deal.lostReason | string | null | yes | |
deal.closedAt | string | null | yes | ISO 8601 date-time (UTC). |
deal.createdAt | string | yes | ISO 8601 date-time (UTC). |
deal.updatedAt | string | yes | ISO 8601 date-time (UTC). |
contact | object | yes | |
contact.id | string (uuid) | yes | |
contact.fullName | string | yes | |
contact.phones | string[] | yes | |
contact.emails | string[] | yes | |
contact.telegramUsername | string | null | yes | |
manager | object | yes | |
manager.id | string (uuid) | yes | |
manager.name | string | yes | |
vehicle | object | yes | |
vehicle.id | string (uuid) | yes | |
vehicle.vin | string | null | yes | |
vehicle.make | string | null | yes | |
vehicle.model | string | null | yes | |
vehicle.trim | string | null | yes | |
vehicle.year | integer | null | yes | |
vehicle.body | string | null | yes | |
vehicle.fuel | string | null | yes | |
vehicle.gearbox | string | null | yes | |
vehicle.engineCc | integer | null | yes | |
vehicle.mileageKm | integer | null | yes | |
vehicle.color | string | null | yes | |
vehicle.sourceUrl | string | null | yes | |
vehicle.lotId | string | null | yes | |
stages | object[] | yes | |
stages[].fromStatus | "lead" | "consult" | "contract_signed" | "deposit_paid" | "searching" | "bid_approved" | "won" | "paid_to_auction" | "pickup_scheduled" | "at_us_warehouse" | "loaded" | "in_transit_sea" | "at_eu_port" | "inland_to_border" | "customs_clearing" | "customs_cleared" | "certification" | "registration" | "ready_for_handover" | "handed_over" | "closed" | "lost" | "cancelled" | "on_hold" | "dispute" | null | no | |
stages[].toStatus | "lead" | "consult" | "contract_signed" | "deposit_paid" | "searching" | "bid_approved" | "won" | "paid_to_auction" | "pickup_scheduled" | "at_us_warehouse" | "loaded" | "in_transit_sea" | "at_eu_port" | "inland_to_border" | "customs_clearing" | "customs_cleared" | "certification" | "registration" | "ready_for_handover" | "handed_over" | "closed" | "lost" | "cancelled" | "on_hold" | "dispute" | no | |
stages[].at | string | no | ISO 8601 date-time (UTC). |
stages[].note | string | null | no | |
transitions | object[] | yes | Transitions available to this API key now (a stage may be restricted to other roles). |
transitions[].to | "lead" | "consult" | "contract_signed" | "deposit_paid" | "searching" | "bid_approved" | "won" | "paid_to_auction" | "pickup_scheduled" | "at_us_warehouse" | "loaded" | "in_transit_sea" | "at_eu_port" | "inland_to_border" | "customs_clearing" | "customs_cleared" | "certification" | "registration" | "ready_for_handover" | "handed_over" | "closed" | "lost" | "cancelled" | "on_hold" | "dispute" | no | |
transitions[].kind | string | null | no | |
transitions[].ok | boolean | no | false: not possible right now, see missing / reasonKey. |
transitions[].missing | string[] | no | Requirement keys that are not met yet, e.g. "vehicle.vin". |
transitions[].reasonKey | string | null | no | |
transitions[].reasonRequired | boolean | no | A note is required for this transition. |
sla | object | yes | |
sla.status | string | yes | ok | warning | breached | none. |
sla.slaDays | number | null | yes | |
sla.daysInStage | number | yes | |
sla.daysLeft | number | null | yes | |
sla.daysOverdue | number | yes |
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
No such deal in this tenant.
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