Listings
Create/Update Listing
Create or update a vehicle listing
PUT
Create or Update Listing
Upsert a vehicle listing by external reference. Creates a new listing if it doesn’t exist, or updates the existing one.Requires the
write:listings scope. Contact support to enable write access.Path Parameters
Your unique reference for this listing (max 64 characters)
Request Body
Use these JSON field names in API payloads. Dashboard HTML field names are not the API contract unless they are listed here as aliases.
Car-Pass / carpass
UsecarPassUrl for Car-Pass. The search term carpass is intentionally listed here as an alias for partners who search without the hyphen. Accepted input aliases are carPass, car_pass_url, and carPassNumber, but new integrations should send carPassUrl.
JSON Field Names
| Field | Required | Description |
|---|---|---|
externalReference | Yes for bulk upsert | Your unique listing reference. For single upsert this is the path parameter |
external_reference | Alias | Accepted bulk upsert alias for externalReference; prefer externalReference |
dealerProfileId | Yes, unless dealerLocationCode is used | Dealer profile UUID |
dealerLocationCode | Yes, unless dealerProfileId is used | Dealer location code from the Okasie dashboard |
status | No | active, pending, sold, or draft |
title | Yes | Listing title |
description | No | Listing description |
price | Yes for active/pending | Price in EUR |
currency | No | ISO 4217 currency code, defaults to EUR |
brand | No | Vehicle brand |
model | No | Vehicle model |
variant | No | Model variant or trim |
customType | No | Custom vehicle type label. Falls back to variant when omitted |
year | No | Build year |
mileage | No | Mileage in kilometers |
fuelType | No | Fuel type |
transmission | No | Transmission type |
bodyType | No | Body type |
engine | No | Engine description |
driveType | No | Drive type |
gears | No | Number of gears |
color | No | Exterior color |
interiorColor | No | Interior color |
interiorMaterial | No | Interior material |
doors | No | Number of doors |
seats | No | Number of seats |
powerKw | No | Engine power in kW |
weight | No | Vehicle weight in kg |
previousOwners | No | Number of previous owners |
serviceHistory | No | Whether service history is available |
warranty | No | Whether warranty is included |
warrantyMonths | No | Warranty duration in months |
co2Emission | No | CO2 emissions in g/km |
co2Type | No | WLTP or NEDC |
emissionClass | No | Euro emission class |
paintType | No | Paint type |
fuelConsumption | No | Fuel consumption in L/100km |
condition | No | Vehicle condition |
conditionTags | No | Array of condition tags, max 6 |
vehicleType | No | VAT regime: margin or btw |
firstRegistration | No | First registration date, format YYYY-MM |
vin | No | Vehicle identification number |
carPassUrl | No | Preferred Car-Pass field. Accepts a public.car-pass.be or car-pass.be URL, or a legacy 11-digit certificate number |
carPass | Alias | Accepted alias for carPassUrl; prefer carPassUrl |
car_pass_url | Alias | Accepted alias for carPassUrl; prefer carPassUrl |
carPassNumber | Alias | Accepted alias for carPassUrl; prefer carPassUrl |
postalCode | Yes for active listings | Belgian postal code |
city | Yes for active listings | City |
province | Yes for active listings | Province |
latitude | No | Latitude |
longitude | No | Longitude |
location.postalCode | No | Nested location postal code alternative |
location.city | No | Nested location city alternative |
location.province | No | Nested location province alternative |
location.latitude | No | Nested location latitude alternative |
location.longitude | No | Nested location longitude alternative |
features[].category | No | Feature category |
features[].name | No | Feature name |
features[].feature | No | Accepted alias for feature name |
images[] | No | Image URL string |
images[].url | No | Image URL |
images[].imageUrl | No | Accepted alias for images[].url |
images[].position | No | Image order |
Dealer profile UUID. Required if
dealerLocationCode is not provided.Location code. Required if
dealerProfileId is not provided.Listing status:
active, pending, sold, or draftListing title
Detailed description (max 15,000 characters)
Price in EUR. Required when status is
active or pending.ISO 4217 currency code. Defaults to
EUR.Vehicle brand (e.g., “Opel”, “Volkswagen”)
Vehicle model (e.g., “Corsa”, “Golf”)
Build year (1900 - current year + 1)
Kilometers driven
Fuel type:
petrol, diesel, electric, hybrid, lpg, cng, otherTransmission:
manual, automatic, semi-automatic, otherBody type:
hatchback, sedan, suv, wagon, convertible, van, coupe, otherModel variant/trim level (e.g., “GT Line”, “Signature”)
Custom vehicle type label. If omitted,
variant is also used as the custom type label.Engine description (e.g., “1.6 TDI 115pk”, “2.0 TSI”)
Drive type:
FWD, RWD, AWD, 4WD, 4x4Number of gears (1-12)
Exterior color
Interior color
Interior material:
Leder, Stof, Alcantara, Kunstleder, Leder/Stof, Leder/AlcantaraVehicle weight in kg
Number of previous owners
Service history available
Warranty included
Warranty duration in months
CO2 emissions in g/km
CO2 measurement standard:
WLTP or NEDCEuro emission class (e.g., “Euro 6d”)
Paint type:
Metallic, Parelmoer, Mat, UniFuel consumption in L/100km
Vehicle condition:
new, used, demo, oldtimer, damagedArray of condition tag strings (max 6)
VAT regime:
margin or btwFirst registration date (format: YYYY-MM)
Number of doors (1-10)
Number of seats (1-10)
Engine power in kW
Vehicle identification number
Public Car-Pass URL from
public.car-pass.be or car-pass.be, or a legacy 11-digit certificate number. Input aliases carPass, car_pass_url, and carPassNumber are also accepted.Belgian postal code. Required for active listings.
City name. Required for active listings.
Province name. Required for active listings.
Location latitude. Can also be sent as
location.latitude.Location longitude. Can also be sent as
location.longitude.Optional nested location object with
postalCode, city, province, latitude, and longitude.Array of feature objects with
category and name. feature is accepted as an alias for name.Array of image URLs or objects with
url/imageUrl and position. Images are automatically mirrored to Okasie storage.Response
Okasie listing UUID
Your provided reference
Current listing status
true if newly created, false if updatedOptional warnings (e.g., skipped images)
Error Responses
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_TITLE | Title is required |
| 400 | INVALID_PRICE | Price required for active listings |
| 400 | INVALID_LOCATION | postalCode, city, and province required |
| 400 | INVALID_PROFILE | dealerProfileId or dealerLocationCode required |
| 403 | PROFILE_FORBIDDEN | No access to requested profile |
| 422 | VALIDATION_FAILED | Payload validation failed |
Enum Values Reference
driveType
| Value | Description |
|---|---|
FWD | Front-wheel drive (Voorwielaandrijving) |
RWD | Rear-wheel drive (Achterwielaandrijving) |
AWD | All-wheel drive (Vierwielaandrijving) |
4WD | Four-wheel drive |
4x4 | Four-wheel drive |
interiorMaterial
| Value | Description |
|---|---|
Leder | Leather |
Stof | Fabric |
Alcantara | Alcantara |
Kunstleder | Synthetic leather |
Leder/Stof | Leather/Fabric combination |
Leder/Alcantara | Leather/Alcantara combination |
paintType
| Value | Description |
|---|---|
Metallic | Metallic paint |
Parelmoer | Pearl paint |
Mat | Matte paint |
Uni | Solid/plain paint |
co2Type
| Value | Description |
|---|---|
WLTP | Worldwide Harmonised Light Vehicle Test Procedure |
NEDC | New European Driving Cycle (legacy) |
condition
| Value | Description |
|---|---|
new | New vehicle |
used | Used vehicle |
demo | Demo/showroom vehicle |
oldtimer | Classic/vintage vehicle |
damaged | Damaged vehicle |
vehicleType
| Value | Description |
|---|---|
margin | Margin scheme (no VAT deductible) |
btw | VAT scheme (VAT deductible) |