# Vehicle Data API

## Introduction <a href="#introduction" id="introduction"></a>

### Overview <a href="#overview" id="overview"></a>

The EuroStocks Data-Supplirer-API is an interface to store vehicle to the EuroStocks-database and make them available on the platform as classified ads. It allows users to do all necessary operations like Get, Add, Update and Delete an ad information.

| Documentation can be incomplete and/or outdated, Contact EuroStocks team by sending an email on <api@eurostocks.com> for any questions regarding API. |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- |

The API is available at this base URL:

| <p><a href="https://vehicles-data-api.eurostocks.com/docs/data-supplier-api.html#"><https://vehicles-data-api.eurostocks.com/></a> - New domain<br><br><a href="https://vehicles-data-api.eurostocks.com/docs/data-supplier-api.html#"><https://hexon.eurostocks.com> </a>- will be deprecated from 01-Jan-2021</p> |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

### Main features <a href="#main_features" id="main_features"></a>

* Create a new ad
* Update an ad
* Delete an ad
* Upload images
* Change the order of existing images
* Delete image
* Get an Ad Information

### Prerequisites <a href="#prerequisites" id="prerequisites"></a>

Data supplier API access can be granted to suppliers who wants to send EuroStocks vehicle informations, and it required username, password and API Key to access API.

| <p><strong>Limited support for the development process and maintenance:</strong><br>Please note that all examples provided in our documentation are considered as guidelines for your development process but EuroStocks for itself is not able to directly assist with any of your preferred programming languages and/or used scripts.</p> |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

### Test Account <a href="#test_account" id="test_account"></a>

A test environment can be provided. Please ask for the test account details and all the information will be used as mention in Prerequisites on test API url [https://test-vehicles-data-api.eurostocks.com](https://vehicles-data-api.eurostocks.com/docs/data-supplier-api.html#).

## Working with Ad Data <a href="#working_with_ad_data" id="working_with_ad_data"></a>

### Overview <a href="#overview_2" id="overview_2"></a>

Data Supplier API allows you to manage your vehicle inventory in a programmatic way and integrate it with other applications. It allows users to do all necessary operations like Get, Add, Update and Delete an ad information.

Generate sample request click [here](#sample-request-body).

Platform Meta Data

| eurostocksAdId   | <p>The unique identifier for an ad object on EuroStocks platform.<br>Example: 123456</p> |
| ---------------- | ---------------------------------------------------------------------------------------- |
| locationId       | <p>Reference to the company's location of this ad information.<br>Example: 1234567</p>   |
| dataSupplierAdId | <p>Unique Identification number of datasupplier.<br>Example: 1234567</p>                 |
| imageCount       | No. of images supplier will sent for requested new vehicle                               |

Vehicle Data

| [vehicleType](#vehicle-types)        | <p>General vehicle types.<br>Example: Car or Motorcycle</p>                   |
| ------------------------------------ | ----------------------------------------------------------------------------- |
| [VehicleCategory](#vehicle-category) | <p>Different cateogies of vehicle types.<br>Example: Sedan or Small car</p>   |
| [make](#makes)                       | <p>Make of the vehicle.<br>Example: Mercedes or Toyota</p>                    |
| [model](#models)                     | <p>Model of the vehicle based on make.<br>Example: X5 or Prius</p>            |
| trimline                             | Manufacturers identity. (OPTIONAL)                                            |
| licensePlate                         | Vehicle identification number. (OPTIONAL)                                     |
| firstRegistration                    | <p>Vehicle first registration date<br>Example:20121001 (Format: yyyyMMdd)</p> |
| price                                | Vehicle price [Price attrbiutes](#price-attributes).                          |
| modelCode                            | Vehicle's model code.                                                         |

#### Additional Ad Information

| make                               | Provides vehicle make. For example : AUDI                                                                                           |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| model                              | Provides vehicle model. For example : A4                                                                                            |
| trimline                           | Provides vehicle trimline.                                                                                                          |
| licensePlate                       | Provides vehicle licensePlate.                                                                                                      |
| firstRegistration                  | Provides vehicle firstRegistration.                                                                                                 |
| modelCode                          | Provides vehicle modelCode.                                                                                                         |
| [features](#features)              | Provides all the feature available for selected vehicle type. For example: ABS and PARKINGASSISTANTS.                               |
| [features values](#feature-values) | Provides all the feature values available for selected feature. For example: ABS = "YES".                                           |
| [attributes](#attributes)          | Provides all the attribute available for selected vehicle type. For example: DOOR\_COUNT.                                           |
| vehicleInfo                        | Provides multilingual attributes which allows to add attribute for different languages. For example: REMARKS and ADDITIONALREMARKS. |
| priceInfo                          | Provides price information which will allow to calculate price. For example : PRICE\_ON\_REQUEST                                    |

### How Ad Data Are Rendered <a href="#how_ad_data_are_rendered" id="how_ad_data_are_rendered"></a>

#### **Representation as JSON data in Supplier API**<br>

| This is an ad fragment in JSON format for demonstration purposes only, some fields are not included. |
| ---------------------------------------------------------------------------------------------------- |

```json
{  
   "eurostocksAdId":null,
   "locationId": 1,
   "dataSupplierAdId": 123456,
   "imageCount": 2,
   "vehicleType":"AUTOS",
   "vehicleCategory":"ESTATE_CAR",
   "make":"VW",
   "model":"GOLF_SPORTSVAN",
   "trimline":"Trendline",
   "licensePlate":"79XXBH",
   "firstRegistrationDate":"20120101",   
   "priceInfo": {
   	  "VAT_RECLAIMABLE":"YES",
	  "PRICE_NL":"20000",
	  "EX_VAT_NL":"YES",
	  "EX_BPM_NL":"YES",
          "PRICE_PORTAL_NL":"15000",
	  "EX_VAT_PORTAL_NL":"NO",
	  "EX_BPM_PORTAL_NL":"NO",
	  "PRICE_PORTAL_NL_B2B":"25000",
	  "EX_VAT_PORTAL_NL_B2B":"NO",
	  "EX_BPM_PORTAL_NL_B2B":"YES",
	  "PRICE_ON_REQUEST": "YES"
   },
   "modelCode":"AM1",
   "vehicleInfo":[  
      {  
         "LANGUAGE_ISO_CODE":"nl",
		 "VARIANT":"1.6 TDI",
         "TITLE_REMARKS":"DSG | NAVI | Lichtmetaal",
         "TITLE_ADDITIONAL_REMARKS":"Iedere zondag geopend!",
         "PORTAL_DESCRIPTION":"NL Description",
         "OTHER_ATTRIBUTES":"NL OTHERATTRIBUTES",
         "OTHER_FEATURES":"NL OTHERFEATURES",
         "STANDARD_VEHICLE_DESCRIPTION":"NL Additional description",
	 "WARRANTY_DESCRIPTION":"NL WARRANTY_DESCRIPTION"
      },
      {  
         "LANGUAGE_ISO_CODE":"en",
         "TITLE_REMARKS":"EN Remark",
         "TITLE_ADDITIONAL_REMARKS":"EN Additional Remark",
         "PORTAL_DESCRIPTION":"EN Description",
         "OTHER_ATTRIBUTES":"EN OTHERATTRIBUTES",
         "OTHER_FEATURES":"EN OTHERFEATURES",
         "STANDARD_VEHICLE_DESCRIPTION":"EN Additional description"		 
      },
      {  
         "LANGUAGE_ISO_CODE":"de",
         "TITLE_REMARKS":"DE Remark",
         "TITLE_ADDITIONAL_REMARKS":"DE Additional Remark",
         "PORTAL_DESCRIPTION":"DE Description",
         "OTHER_ATTRIBUTES":"DE : OTHERATTRIBUTES",
         "OTHER_FEATURES":"DE OTHERFEATURES",
         "STANDARD_VEHICLE_DESCRIPTION":"DE Additional description",
	 "WARRANTY_DESCRIPTION":"DE WARRANTY_DESCRIPTION"
      }
   ],
   "features":{  
      "USB":"YES",
      "TOUCH_SCREEN":"YES",      
	  "PARKINGASSISTANTS": [
		"CAM_360_DEGREES",
		"AUTOMATIC_PARKING"
	  ],
	  "VOICE_CONTROL":"YES"
   },
   "attributes":{  
      "AXLES":"1",
      "MILEAGE":"400000"
   }
}
```

## Create a new Ad

<mark style="color:green;">`POST`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehicledetails`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### **Data Types**

| Request                          | Success Response |
| -------------------------------- | ---------------- |
| [Ad](#_how_ad_data_are_rendered) | n/a              |

**Sample Success Request**

```json
HOST: vehicles-data-api.eurostocks.com

{  
   "eurostocksAdId":null,
   "locationId": 1,
   "dataSupplierAdId": 123456,
   "imageCount": 2,
   "vehicleType":"AUTOS",
   "vehicleCategory":"ESTATE",
   "make":"FORD",
   "model": "FOCUS",
   "trimline":"Trendline",
   "licensePlate": "79XXBH",
   "firstRegistrationDate":"20150113",
   "priceInfo": {
   	  "VAT_RECLAIMABLE":"YES",
           "PRICE_NL":"13000",
	  "EX_VAT_NL":"NO",
	  "EX_BPM_NL":"NO",
          "PRICE_EXPORT":"10000",
	  "EX_VAT_EXPORT":"YES",
	  "EX_BPM_EXPORT":"YES",
	  "PRICE_ON_REQUEST": "YES"
	},
   "modelCode":"AM1",
   "vehicleInfo":[  
      {  
         "LANGUAGE_ISO_CODE":"nl",
		  "VARIANT":"1.6 TDI",
          "TITLE_REMARKS":"NL Remark AC Seats",
          "TITLE_ADDITIONAL_REMARKS":"NL Additional Remark",
           "OTHER_ATTRIBUTES":"nl : OTHERATTRIBUTES",
          "OTHER_FEATURES":"16 felgen, Aansluiting Aux, Achterbank neerklapbaar (ongelijke delen), Afstandsbediening Centrale Deurvergrendeling, Airbag(s) front + zij, Audiobediening op het stuurwiel, Bagage afdekking, Buitenspiegels in carrosseriekleur, Buitenspiegels met instapverlichting, Climate control (L/R gescheiden), El. bedienbare ramen achter, El. bedienbare ramen voor, El. inklapbare buitenspiegels, Elektrisch bedienbare ramen achter, Elektrisch bedienbare ramen voor, Euro 6d, Halogeen koplampen, hoofdsteunen achter, Krik, LED achterlichten, Middenarmsteun voor, Rijbaanassistentie, Ruitenwisser achter, WiFi ",
"WARRANTY_DESCRIPTION":"NL WARRANTY_DESCRIPTION",
"VEHICLE_SPECIFIC_DESCRIPTION": "NL VEHICLE_SPECIFIC_DESCRIPTION",
"STANDARD_VEHICLE_DESCRIPTION":"NL STANDARD_VEHICLE_DESCRIPTION"
      },
      {  
         "LANGUAGE_ISO_CODE":"de",
         "TITLE_ADDITIONAL_REMARKS":"DE Air Condition",
         "OTHER_ATTRIBUTES":"de : OTHERATTRIBUTES",
"WARRANTY_DESCRIPTION":"DE WARRANTY_DESCRIPTION",
"VEHICLE_SPECIFIC_DESCRIPTION": "DE VEHICLE_SPECIFIC_DESCRIPTION",
"STANDARD_VEHICLE_DESCRIPTION":"DE STANDARD_VEHICLE_DESCRIPTION"
      },
      {  
         "LANGUAGE_ISO_CODE":"en",
          "TITLE_ADDITIONAL_REMARKS":"EN AC",
         "OTHER_ATTRIBUTES":"DE : OTHERATTRIBUTES",
"VEHICLE_SPECIFIC_DESCRIPTION": "EN VEHICLE_SPECIFIC_DESCRIPTION",
"STANDARD_VEHICLE_DESCRIPTION":"EN STANDARD_VEHICLE_DESCRIPTION"
      }
   ],
   "features":{  
      "USB":"YES",

      "PARKINGASSISTANTS":[  
         "CAM_360_DEGREES",
         "AUTOMATIC_PARKING"
      ],

      "FUEL":"DIESEL",
     "GEARBOX":"MANUAL_GEAR",
     "DAMAGE_UNREPAIRED":"NO",
"EXTERIOR_COLOR" :"YELLOW",
"CONDITION_VEHICLES":"USED"
  
    },
   "attributes":{  
      "MILEAGE":"1000",
        "POWER":"71",
      "HIGHLIGHTS_1": "test Highlight1"

     }
}
```

**Sample Success Response**

```json
HTTP/1.1 201 Created
{
    "eurostocksAdId": 71,
    "eurostocksUrl": "https://www.autospulletjes.nl/nl/vehicle/71/ford-focus-16-tdi-trendline-nl-remark-ac-seats-nl-additional-remark"   
}
Sample Error Request
POST /api/v2/vehicledatasupplier/vehicledetails/
HOST: vehicles-data-api.eurostocks.com


{  
   "eurostocksAdId":null,
   "locationId": 1,
   "dataSupplierAdId": 123456,
   "vehicleType":"AUTOS",
   "vehicleCategory":"ESTATE_CAR",
  "make":"VW",
   "model":"GOLF_SPORTSVAN",
   "trimline":"Trendline",
   "licensePlate":"79XXBH",
   "firstRegistrationDate":"20120101",
   "priceInfo": {
   	  "VAT_RECLAIMABLE":"YES",
	  "PRICE_NL":"20000",
	  "EX_VAT_NL":"YES",
	  "EX_BPM_NL":"YES",
          "PRICE_PORTAL_NL":"15000",
	  "EX_VAT_PORTAL_NL":"NO",
	  "EX_BPM_PORTAL_NL":"NO",
	  "PRICE_PORTAL_NL_B2B":"25000",
	  "EX_VAT_PORTAL_NL_B2B":"NO",
	  "EX_BPM_PORTAL_NL_B2B":"YES",
	  "PRICE_ON_REQUEST": "YES"
   },
   "modelCode":"AM1",
   "vehicleInfo":[  
      {  
         "LANGUAGE_ISO_CODE":"nl",
		 "VARIANT":"1.6 TDI",
         "TITLE_REMARKS":"NL Remark",
         "TITLE_ADDITIONAL_REMARKS":"NL Additional Remark",
         "PORTAL_DESCRIPTION":"NL Description",
         "OTHER_ATTRIBUTES":"NL OTHERATTRIBUTES",
         "STANDARD_VEHICLE_DESCRIPTION":"NL Additional description"
      },
      {  
         "LANGUAGE_ISO_CODE":"en",
         "TITLE_REMARKS":"EN Remark",
         "TITLE_ADDITIONAL_REMARKS":"EN Additional Remark",
         "PORTAL_DESCRIPTION":"EN Description",
         "OTHER_ATTRIBUTES":"EN OTHERATTRIBUTES",
         "STANDARD_VEHICLE_DESCRIPTION":"EN Additional description"
      },
      {  
         "LANGUAGE_ISO_CODE":"de",
         "TITLE_REMARKS":"DE Remark",
         "TITLE_ADDITIONAL_REMARKS":"DE Additional Remark",
         "PORTAL_DESCRIPTION":"DE Description",
         "OTHER_ATTRIBUTES":"DE : OTHERATTRIBUTES",
         "STANDARD_VEHICLE_DESCRIPTION":"DE Additional description"
      }
   ],
   "features":{  
      "USB":"YES",
      "TOUCH_SCREEN":"YES",
      "VOICE_CONTROL":"YES"
   },
   "attributes":{  
      "AXLES":"1",
      "MILEAGE":"400000"
   }
}
```

**Sample Error Response**

```json
HTTP/1.1 400 Bad Request

{
    "Code": "Invalid",
    "Message": "20121301 is invalid value of attribute FIRSTREGISTRATION"
}
```

## Update an Ad

<mark style="color:orange;">`PUT`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehicledetails`

#### Headers

| Name     | Type   | Description                        |
| -------- | ------ | ---------------------------------- |
| UserName | String | Username which EuroStocks provides |
| Password | String | Password which EuroStocks provides |
| APIKey   | String | ApiKey which EuroStocks provides   |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Data Types**

| Request                          | Success Response |
| -------------------------------- | ---------------- |
| [Ad](#_how_ad_data_are_rendered) | n/a              |

**Sample Success Request**

```json
PUT /api/v2/vehicledatasupplier/vehicledetails/
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"

{  
   "eurostocksAdId": 211925,
   "locationId": 1,
   "dataSupplierAdId": 12345,
   "vehicleType":"AUTOS",
   "vehicleCategory":"ESTATE_CAR",
   "make":"VW",
   "model":"GOLF_SPORTSVAN",
   "trimline":"Trendline",
   "licensePlate":"79XXBH",
   "firstRegistrationDate":"20120101",
   "priceInfo": {
   	  "VAT_RECLAIMABLE":"YES",
	  "PRICE_NL":"20000",
	  "EX_VAT_NL":"YES",
	  "EX_BPM_NL":"YES",
	  "PRICE_PORTAL_NL":"15000",
	  "EX_VAT_PORTAL_NL":"NO",
	  "EX_BPM_PORTAL_NL":"NO",
	  "PRICE_PORTAL_NL_B2B":"25000",
	  "EX_VAT_PORTAL_NL_B2B":"NO",
	  "EX_BPM_PORTAL_NL_B2B":"YES",
	  "PRICE_ON_REQUEST": "YES"
   },
   "modelCode":"AM1",
   "vehicleInfo":[  
      {  
         "LANGUAGE_ISO_CODE":"nl",
		 "VARIANT":"1.6 TDI",
         "TITLE_REMARKS":"NL Remark",
         "TITLE_ADDITIONAL_REMARKS":"NL Additional Remark",
         "PORTAL_DESCRIPTION":"NL Description",
         "OTHER_ATTRIBUTES":"NL OTHERATTRIBUTES",
         "STANDARD_VEHICLE_DESCRIPTION":"NL Additional description"
      },
      {  
         "LANGUAGE_ISO_CODE":"en",
         "TITLE_REMARKS":"EN Remark",
         "TITLE_ADDITIONAL_REMARKS":"EN Additional Remark",
         "PORTAL_DESCRIPTION":"EN Description",
         "OTHER_ATTRIBUTES":"EN OTHERATTRIBUTES",
         "STANDARD_VEHICLE_DESCRIPTION":"EN Additional description"
      },
      {  
         "LANGUAGE_ISO_CODE":"de",
         "TITLE_REMARKS":"DE Remark",
         "TITLE_ADDITIONAL_REMARKS":"DE Additional Remark",
         "PORTAL_DESCRIPTION":"DE Description",
         "OTHER_ATTRIBUTES":"DE : OTHERATTRIBUTES",
         "STANDARD_VEHICLE_DESCRIPTION":"DE Additional description"
      }
   ],
   "features":{  
      "USB":"YES",
      "TOUCH_SCREEN":"YES",
      "VOICE_CONTROL":"YES"
   },
   "attributes":{  
      "AXLES":"1",
      "MILEAGE":"400000"
   }
}
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
					
{
    "eurostocksAdId": 211925,
    "eurostocksUrl": "https://www.autospulletjes.nl/nl/vehicle/211925/ford-focus-16-tdi-trendline-nl-remark-ac-seats-nl-additional-remark"   
}
```

## Patch an Ad

<mark style="color:orange;">`PATCH`</mark> <br>

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehicledetails/{locationId}/{eurostocksAdId}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request parameters

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which Vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of Vehicle you want to patch           |

**Sample Success Request**

```json
PATCH /api/v2/vehicledatasupplier/vehicledetails/1/2683717
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"

{
    "vehicleInfo": [
        {
            "LANGUAGE_ISO_CODE": "nl",
            "VARIANT": "d 4MATIC Prestige CAMERA HU DISPLSAY INCL. BTW",
            "VEHICLE_SPECIFIC_DESCRIPTION": "-INRUIL IS MOGELIJK MAAR WEL TEGEN HANDELS PRIJZEN. VOOR MEER INFO KUNT U ONS MAILEN OF DIRECT BELLEN: 0651191563<br />Garantiepakketten bieden wij u graag tegen meerprijs aan.<br />Wij rekenen GEEN afleverkosten.<br />U kunt bij ons al uw export documenten regelen inclusief verzekering,<br />Optioneel: De kosten van 3 maanden extra garantie bedragen VA &euro;495<br /><br />- Op onzin biedingen wordt NIET gereageerd<br /><br />Openingstijden zijn op maandag t/m vrijdag van 9:00 tot 17:30, op zaterdag van 9:30 tot 16:00. Op zondag zijn we dicht.<br />Het is mogelijk om een afspraak in te plannen buiten kantooruren, graag hiervoor even bellen.<br />Wij raden u aan om even te bellen als u naar een auto wilt komen kijken, zo weet u zeker dat u niet voor niks rijdt.<br />Kijk voor meer info en onze volledig voorraad op onze website: www.edkar.nl<br />Tekstfouten voorbehouden.",
            "OTHER_FEATURES": "ABS, Achteropkomend verkeer waarschuwing, Airbag, zijdelings voor 2x, Airbag Bestuurder, Airbag Passagier, Airconditioning, automatisch, Alarm klasse 3, ASR Anti doorslip regeling, Audioinstallatie met CD-speler, Automatisch dimmende binnenspiegel, Autonomous Emergency Braking, Bandenspanningscontrole, Bekerhouder achter, Bekerhouder voor, Bluetooth carkit, Brake Assist System, Buitenspiegel(s) automatisch dimmend, Buitenspiegels inklapbaar, Centrale deurvergrendeling, afstandbediend, Connected services, Cruise control, Deelb. achterbank (ongelijke delen), Dimlichten automatisch, EBD, El. verst. voorstoelen, El. verstelbare spiegels, verwarmd, Electr. buitenspiegel verstelbaar en inklapbaar, Electronic climate control, Elektrische achterklep, Elektrische ramen achter, ESP, Gordijn/hoofd airbags achter, Gordijn/hoofd airbags voor, Head Up Display, Hill hold functie, Keyless entry, Kinderzitje voorbereiding ISOfix, Knieairbag voor, Koplampen adaptief, LED-koplampen, LED achterlichten, LED dagrijverlichting, Lederen stuur, Lichtmetalen velgen, Lichtmetalen velgen 19 inch, Middenarmsteun achter, Middenarmsteun voor, Multifunctioneel stuur, Multimedia-voorbereiding, Navigatiesysteem Full Map, Navigatiesysteem full map + hard disk, Onderhoudsboekje aanwezig, Park control voor en achter, Parkeerassistent, Regensensor, Schakelpook aan stuurwiel, Start en Stop systeem, Stoelverwarming voor, Stuurbekrachtiging, snelheidsafhankelijk, Trekhaak, afneembaar, Variabele stuuroverbrenging, Vermoeidheids herkenning, Warmtewerend glas",
            "OTHER_ATTRIBUTES": "Aantal cilinders: <b>4</b><br />Ledig gewicht: <b>1.745 kg</b><br />Garantie: <b>Geen aanvullende garantie</b><br />Motorrijtuigenbelasting: <b>&euro;&nbsp;513 - &euro;&nbsp;548</b> per kwartaal",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        },
        {
            "LANGUAGE_ISO_CODE": "de",
            "OTHER_FEATURES": "Alarmsystem Klasse III, Anhängerkupplung mit abnehmbarer Kugel, Antiblockiersystem, Antriebsschlupfregelung, Aufmerksamkeitsassistent, Automatisch abblendende Außenspiegel, Automatisches Abblendlicht, Automatisch gedimmter Innenrückspiegel, Becherhalter, Beheizte Außenspiegel, Beifahrerairbag, Bluetooth-Carkit, Einklappbare Außenspiegel, Elektrisch betriebene Kofferraumklappe, Elektrische Fensterheber hinten, Elektrisch verstellbare Außenspiegel, Elektrisch verstellbare Vordersitze, Elektronische Bremskraftverteilung, Fahrerairbag, Fernbediente Zentralverriegelung, Geschwindigkeitsregelanlage, Hill-hold control, ISOFIX, Keyless Entry, Klimaanlage, Kollisionsminderung durch Bremsen, Kopfairbags vorn, Kurvenlicht, LED-Rücklichter, LED-Scheinwerfer, LED-Tagesfahrbeleuchtung, Lederlenkrad, Leichtmetallfelgen, Leichtmetallfelgen (19\"), Mittelarmlehne hinten, Mittelarmlehne vorn, Multifunktionales Lenkrad, Multimediafähig, Navigationssystem, Notbremsassistent, Parkhilfe, Parksensoren vorn und hinten, Radio/CD-Spieler, Regensensor, Reifendruckkontrolle, Seitenairbags vorn, Sitzheizung vorn, Stabilitätskontrolle, Start/Stopp-System, Thermoglas, Umklappbare Rückbank (nicht mittig geteilt), Vorhangairbags hinten, Wartungshefte vorhanden",
            "OTHER_ATTRIBUTES": "Zylinderzahl: <b>4</b><br />Leergewicht: <b>1.745 kg</b>",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        },
        {
            "LANGUAGE_ISO_CODE": "en",
            "OTHER_FEATURES": "Alarm system Class III, Alloy wheels, Alloy wheels (19\"), Anti-lock braking system, Anti-slip regulation, Automatically dimming rear mirror, Automatic dimming exterior mirrors, Automatic dipped headlights, Automatic parking assistent, Bend lighting, Bluetooth car kit, Climate control, Collision mitigation by braking, Cruise control, Cup holder, Driver's airbag, Driver drowsiness detection, Electrically adjustable door mirrors, Electrically adjustable front seats, Electrically operated rear windows, Electrically operated tailgate, Electronic brakeforce distribution, Emergency braking assistance, Folding door mirrors, Folding rear seats (unequal parts), Front and rear parking sensors, Front central armrest, Front head airbags, Front side airbags, Heated door mirrors, Heated front seats, Heat reflecting glass, Hill-hold control, ISOFIX, Keyless entry, Leather steering wheel, LED daytime running lights, LED headlights, LED rear lights, Multifunctional steering wheel, Multimedia enabled, Navigation system, Passenger airbag, Radio/CD player, Rain sensor, Rear central armrest, Rear curtain airbags, Remote central locking, Service history present, Stability control, Start / stop system, Towbar with removable ball, Tyre pressure control",
            "OTHER_ATTRIBUTES": "Number of cylinders: <b>4</b><br />Empty weight: <b>1.745 kg</b>",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        },
        {
            "LANGUAGE_ISO_CODE": "fr",
            "OTHER_FEATURES": "Accès sans clé, Airbag chauffeur, Airbag passager, Airbags de tête avant, Airbags latéraux avant, Airbags rideaux arrière, Assistance au freinage d'urgence, Assistance parking, Atténuation des collisions par freinage, Banquette arrière rabattable (parties inégales), Capteur de pluie, Capteurs de parking avant et arrière, Climate control, Contrôle d'immobilisation en côte, Contrôle de la stabilité, Contrôle de pression des pneus, Crochet de traction avec boule amovible, Détection de la somnolence du conducteur, Fenêtres électriques à l'arrière, Feux arrière à LED, Feux de croisement automatiques, Hayon à commande électrique, ISOFIX, Kit bluetooth, Livrets d'entretien présents, Multimédia activé, Phares orientables, Phares à LED, Porte-gobelet, Radio/Lecteur CD, Roues en métal léger, Roues en métal léger (19\"), Réglage antidérapant, Régulateur de vitesse, Répartition électronique de la force de freinage, Rétroviseur intérieur à abaissement automatique, Rétroviseurs extérieurs anti-éblouissement automatique, Rétroviseurs extérieurs chauffants, Rétroviseurs extérieurs à réglage électrique, Rétroviseurs rabattables, Siège chauffant à l'avant, Sièges avant à commande électrique, Support bras intermédiaire arrière, Support bras intermédiaire avant, Système antiblocage, Système d'alarme classe III, Système de navigation, Système Start/stop, Verre résistant à la chaleur, Verrouillage centralisé à distance, Volant cuir, Volant multifonction, Éclairage de jour LED",
            "OTHER_ATTRIBUTES": "Nombre de cylindres: <b>4</b><br />Poids &agrave; vide: <b>1.745 kg</b>",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        }
    ],
    "features": {
        "ABS": "YES",
        "AIRBAG": "DRIVER_AIRBAG",
        "ALARM_SYSTEM": "YES",
        "ALLOY_WHEELS": "YES",
        "AMBIENT_LIGHTING": "YES",
        "AVAILABILITY": "AVAILABLE",
        "BLIND_SPOT_MONITOR": "YES",
        "CLIMATISATION": "AUTOMATIC_CLIMATISATION",
        "CONDITION_VEHICLES": "USED",
        "DAMAGE_UNREPAIRED": "NO",
        "DIGITAL_COCKPIT": "YES",
        "ELECTRIC_EXTERIOR_MIRRORS": "YES",
        "ELECTRIC_HEATED_SEATS": "YES",
        "EMISSION_CLASS": "EURO6DTEMP",
        "ENERGY_EFFICIENCY_CLASS": "G",
        "EXTERIOR_COLOR": "GREY",
        "FOUR_WHEEL_DRIVE": "YES",
        "FUEL": "PETROL",
        "GEARBOX": "AUTOMATIC_GEAR",
        "HANDS_FREE_PHONE_SYSTEM": "YES",
        "HEAD_UP_DISPLAY": "YES",
        "HEADLIGHT_TYPE": "LED_HEADLIGHTS",
        "HEATED_STEERING_WHEEL": "YES",
        "HEATEDMIRRORS": "YES",
        "IMMOBILIZER": "YES",
        "INTERIOR_COLOR": "BLACK",
        "INTERIOR_TYPE": "LEATHER",
        "KEYLESS_ENTRY": "YES",
        "LANE_DEPARTURE_WARNING": "YES",
        "MASSAGE_SEATS": "YES",
        "NAVIGATION_SYSTEM": "YES",
        "301_REDIRECT": "301_REDIRECT_YES",
        "PARKINGASSISTANTS": [
            "CAM_360_DEGREES",
            "FRONT_SENSORS",
            "REAR_SENSORS"
        ],
        "PERFORMANCE_HANDLING_SYSTEM": "YES",
        "RADIO": [
            "TUNER"
        ],
        "SPEED_CONTROL": "ADAPTIVE_CRUISE_CONTROL",
        "SPEED_LIMITER": "YES",
        "TRAFFIC_SIGN_RECOGNITION": "YES",
        "VENTILATED_SEATS": "YES",
        "WIRELESS_CHARGING": "YES"
    },
    "attributes": {
        "CO2": "292",
        "CONSTRUCTION_YEAR": "2022",
        "CONSUMPTION_COMBINED": "12.6",
        "CUBIC_CAPACITY": "3982",
        "DOOR_COUNT": "2",
        "FIRST_MODELS_PRODUCTION_DATE": "20220101",
        "INTERNAL_NUMBER": "51033838",
        "MANUFACTURER_COLOR_NAME": "Alpingrau",
        "MILEAGE": "6820",
        "POWER": "430",
        "SEAT_COUNT": "2",
        "VEHICLES_ELECTRIC_RANGE": "100"
    }
}
```

```json
HTTP/1.1 200 OK
					
{
    "eurostocksAdId": 2683717
}
```

#### Update Behavior for Attributes, Features, and Multilingual Vehicle Information

When using the **PATCH Vehicle** endpoint to update an existing ad, the API processes the sections **Attributes**, **Features**, and **VehicleInfo** (language-wise) according to the following logic:

1. **Update Existing Values**
   * If a value for a given Attribute, Feature, or Multilingual field already exists for the vehicle being patched, the new value provided in the JSON body will first be **validated**.
   * Upon successful validation, the existing value will be **replaced/updated** with the new one.
2. **Add New Values**
   * If the specified Attribute, Feature, or Multilingual field does **not** exist for the vehicle, the provided value will be **inserted/added** to that vehicle record.
3. **Remove Existing Values**
   * If a key is included in the request but its value is left **empty** (for example, `"WEIGHT": ""`), the corresponding entry for that Attribute, Feature, or Multilingual field will be **deleted/removed** from the vehicle record.

> **Note:**\
> The PATCH request only applies to the fields explicitly sent in the JSON body. Any omitted fields remain unchanged.

**Sample Success Request**

```json
PATCH /api/v2/vehicledatasupplier/vehicledetails/1/2683717
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"

{
    "vehicleInfo": [
        {
            "LANGUAGE_ISO_CODE": "nl",
            "VARIANT": "d 4MATIC Prestige CAMERA HU DISPLSAY INCL. BTW",
            "VEHICLE_SPECIFIC_DESCRIPTION": "-INRUIL IS MOGELIJK MAAR WEL TEGEN HANDELS PRIJZEN. VOOR MEER INFO KUNT U ONS MAILEN OF DIRECT BELLEN: 0651191563<br />Garantiepakketten bieden wij u graag tegen meerprijs aan.<br />Wij rekenen GEEN afleverkosten.<br />U kunt bij ons al uw export documenten regelen inclusief verzekering,<br />Optioneel: De kosten van 3 maanden extra garantie bedragen VA &euro;495<br /><br />- Op onzin biedingen wordt NIET gereageerd<br /><br />Openingstijden zijn op maandag t/m vrijdag van 9:00 tot 17:30, op zaterdag van 9:30 tot 16:00. Op zondag zijn we dicht.<br />Het is mogelijk om een afspraak in te plannen buiten kantooruren, graag hiervoor even bellen.<br />Wij raden u aan om even te bellen als u naar een auto wilt komen kijken, zo weet u zeker dat u niet voor niks rijdt.<br />Kijk voor meer info en onze volledig voorraad op onze website: www.edkar.nl<br />Tekstfouten voorbehouden.",
            "OTHER_FEATURES": "ABS, Achteropkomend verkeer waarschuwing, Airbag, zijdelings voor 2x, Airbag Bestuurder, Airbag Passagier, Airconditioning, automatisch, Alarm klasse 3, ASR Anti doorslip regeling, Audioinstallatie met CD-speler, Automatisch dimmende binnenspiegel, Autonomous Emergency Braking, Bandenspanningscontrole, Bekerhouder achter, Bekerhouder voor, Bluetooth carkit, Brake Assist System, Buitenspiegel(s) automatisch dimmend, Buitenspiegels inklapbaar, Centrale deurvergrendeling, afstandbediend, Connected services, Cruise control, Deelb. achterbank (ongelijke delen), Dimlichten automatisch, EBD, El. verst. voorstoelen, El. verstelbare spiegels, verwarmd, Electr. buitenspiegel verstelbaar en inklapbaar, Electronic climate control, Elektrische achterklep, Elektrische ramen achter, ESP, Gordijn/hoofd airbags achter, Gordijn/hoofd airbags voor, Head Up Display, Hill hold functie, Keyless entry, Kinderzitje voorbereiding ISOfix, Knieairbag voor, Koplampen adaptief, LED-koplampen, LED achterlichten, LED dagrijverlichting, Lederen stuur, Lichtmetalen velgen, Lichtmetalen velgen 19 inch, Middenarmsteun achter, Middenarmsteun voor, Multifunctioneel stuur, Multimedia-voorbereiding, Navigatiesysteem Full Map, Navigatiesysteem full map + hard disk, Onderhoudsboekje aanwezig, Park control voor en achter, Parkeerassistent, Regensensor, Schakelpook aan stuurwiel, Start en Stop systeem, Stoelverwarming voor, Stuurbekrachtiging, snelheidsafhankelijk, Trekhaak, afneembaar, Variabele stuuroverbrenging, Vermoeidheids herkenning, Warmtewerend glas",
            "OTHER_ATTRIBUTES": "Aantal cilinders: <b>4</b><br />Ledig gewicht: <b>1.745 kg</b><br />Garantie: <b>Geen aanvullende garantie</b><br />Motorrijtuigenbelasting: <b>&euro;&nbsp;513 - &euro;&nbsp;548</b> per kwartaal",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        },
        {
            "LANGUAGE_ISO_CODE": "de",
            "OTHER_FEATURES": "Alarmsystem Klasse III, Anhängerkupplung mit abnehmbarer Kugel, Antiblockiersystem, Antriebsschlupfregelung, Aufmerksamkeitsassistent, Automatisch abblendende Außenspiegel, Automatisches Abblendlicht, Automatisch gedimmter Innenrückspiegel, Becherhalter, Beheizte Außenspiegel, Beifahrerairbag, Bluetooth-Carkit, Einklappbare Außenspiegel, Elektrisch betriebene Kofferraumklappe, Elektrische Fensterheber hinten, Elektrisch verstellbare Außenspiegel, Elektrisch verstellbare Vordersitze, Elektronische Bremskraftverteilung, Fahrerairbag, Fernbediente Zentralverriegelung, Geschwindigkeitsregelanlage, Hill-hold control, ISOFIX, Keyless Entry, Klimaanlage, Kollisionsminderung durch Bremsen, Kopfairbags vorn, Kurvenlicht, LED-Rücklichter, LED-Scheinwerfer, LED-Tagesfahrbeleuchtung, Lederlenkrad, Leichtmetallfelgen, Leichtmetallfelgen (19\"), Mittelarmlehne hinten, Mittelarmlehne vorn, Multifunktionales Lenkrad, Multimediafähig, Navigationssystem, Notbremsassistent, Parkhilfe, Parksensoren vorn und hinten, Radio/CD-Spieler, Regensensor, Reifendruckkontrolle, Seitenairbags vorn, Sitzheizung vorn, Stabilitätskontrolle, Start/Stopp-System, Thermoglas, Umklappbare Rückbank (nicht mittig geteilt), Vorhangairbags hinten, Wartungshefte vorhanden",
            "OTHER_ATTRIBUTES": "Zylinderzahl: <b>4</b><br />Leergewicht: <b>1.745 kg</b>",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        },
        {
            "LANGUAGE_ISO_CODE": "en",
            "OTHER_FEATURES": "Alarm system Class III, Alloy wheels, Alloy wheels (19\"), Anti-lock braking system, Anti-slip regulation, Automatically dimming rear mirror, Automatic dimming exterior mirrors, Automatic dipped headlights, Automatic parking assistent, Bend lighting, Bluetooth car kit, Climate control, Collision mitigation by braking, Cruise control, Cup holder, Driver's airbag, Driver drowsiness detection, Electrically adjustable door mirrors, Electrically adjustable front seats, Electrically operated rear windows, Electrically operated tailgate, Electronic brakeforce distribution, Emergency braking assistance, Folding door mirrors, Folding rear seats (unequal parts), Front and rear parking sensors, Front central armrest, Front head airbags, Front side airbags, Heated door mirrors, Heated front seats, Heat reflecting glass, Hill-hold control, ISOFIX, Keyless entry, Leather steering wheel, LED daytime running lights, LED headlights, LED rear lights, Multifunctional steering wheel, Multimedia enabled, Navigation system, Passenger airbag, Radio/CD player, Rain sensor, Rear central armrest, Rear curtain airbags, Remote central locking, Service history present, Stability control, Start / stop system, Towbar with removable ball, Tyre pressure control",
            "OTHER_ATTRIBUTES": "Number of cylinders: <b>4</b><br />Empty weight: <b>1.745 kg</b>",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        },
        {
            "LANGUAGE_ISO_CODE": "fr",
            "OTHER_FEATURES": "Accès sans clé, Airbag chauffeur, Airbag passager, Airbags de tête avant, Airbags latéraux avant, Airbags rideaux arrière, Assistance au freinage d'urgence, Assistance parking, Atténuation des collisions par freinage, Banquette arrière rabattable (parties inégales), Capteur de pluie, Capteurs de parking avant et arrière, Climate control, Contrôle d'immobilisation en côte, Contrôle de la stabilité, Contrôle de pression des pneus, Crochet de traction avec boule amovible, Détection de la somnolence du conducteur, Fenêtres électriques à l'arrière, Feux arrière à LED, Feux de croisement automatiques, Hayon à commande électrique, ISOFIX, Kit bluetooth, Livrets d'entretien présents, Multimédia activé, Phares orientables, Phares à LED, Porte-gobelet, Radio/Lecteur CD, Roues en métal léger, Roues en métal léger (19\"), Réglage antidérapant, Régulateur de vitesse, Répartition électronique de la force de freinage, Rétroviseur intérieur à abaissement automatique, Rétroviseurs extérieurs anti-éblouissement automatique, Rétroviseurs extérieurs chauffants, Rétroviseurs extérieurs à réglage électrique, Rétroviseurs rabattables, Siège chauffant à l'avant, Sièges avant à commande électrique, Support bras intermédiaire arrière, Support bras intermédiaire avant, Système antiblocage, Système d'alarme classe III, Système de navigation, Système Start/stop, Verre résistant à la chaleur, Verrouillage centralisé à distance, Volant cuir, Volant multifonction, Éclairage de jour LED",
            "OTHER_ATTRIBUTES": "Nombre de cylindres: <b>4</b><br />Poids &agrave; vide: <b>1.745 kg</b>",
            "EXTERNAL_PRODUCT_URL": "https://www.edkar.nl/occasions/mercedes_benz/glc_klasse/mercedes_benz_glc_klasse_250_d_4matic_prestige_camera_hu_displsay_incl_btw-2849785.html"
        }
    ],
    "features": {
        "ABS": "YES",
        "AIRBAG": "DRIVER_AIRBAG",
        "ALARM_SYSTEM": "YES",
        "ALLOY_WHEELS": "YES",
        "AMBIENT_LIGHTING": "YES",
        "AVAILABILITY": "AVAILABLE",
        "BLIND_SPOT_MONITOR": "YES",
        "CLIMATISATION": "AUTOMATIC_CLIMATISATION",
        "CONDITION_VEHICLES": "USED",
        "DAMAGE_UNREPAIRED": "NO",
        "DIGITAL_COCKPIT": "YES",
        "ELECTRIC_EXTERIOR_MIRRORS": "YES",
        "ELECTRIC_HEATED_SEATS": "YES",
        "EMISSION_CLASS": "EURO6DTEMP",
        "ENERGY_EFFICIENCY_CLASS": "G",
        "EXTERIOR_COLOR": "GREY",
        "FOUR_WHEEL_DRIVE": "YES",
        "FUEL": "PETROL",
        "GEARBOX": "AUTOMATIC_GEAR",
        "HANDS_FREE_PHONE_SYSTEM": "YES",
        "HEAD_UP_DISPLAY": "YES",
        "HEADLIGHT_TYPE": "LED_HEADLIGHTS",
        "HEATED_STEERING_WHEEL": "YES",
        "HEATEDMIRRORS": "YES",
        "IMMOBILIZER": "YES",
        "INTERIOR_COLOR": "BLACK",
        "INTERIOR_TYPE": "LEATHER",
        "KEYLESS_ENTRY": "YES",
        "LANE_DEPARTURE_WARNING": "YES",
        "MASSAGE_SEATS": "YES",
        "NAVIGATION_SYSTEM": "",
        "301_REDIRECT": "301_REDIRECT_YES",
        "PARKINGASSISTANTS": [
            "CAM_360_DEGREES",
            "FRONT_SENSORS",
            "REAR_SENSORS"
        ],
        "PERFORMANCE_HANDLING_SYSTEM": "YES",
        "RADIO": [
            "TUNER"
        ],
        "SPEED_CONTROL": "ADAPTIVE_CRUISE_CONTROL",
        "SPEED_LIMITER": "YES",
        "TRAFFIC_SIGN_RECOGNITION": "YES",
        "VENTILATED_SEATS": "YES",
        "WIRELESS_CHARGING": ""
    },
    "attributes": {
        "CO2": "292",
        "CONSTRUCTION_YEAR": "2022",
        "CONSUMPTION_COMBINED": "12.6",
        "CUBIC_CAPACITY": "3982",
        "DOOR_COUNT": "2",
        "FIRST_MODELS_PRODUCTION_DATE": "20220101",
        "INTERNAL_NUMBER": "51033838",
        "MANUFACTURER_COLOR_NAME": "Alpingrau",
        "MILEAGE": "6820",
        "POWER": "430",
        "SEAT_COUNT": "2",
        "VEHICLES_ELECTRIC_RANGE": ""
    }
}
```

```json
HTTP/1.1 200 OK
					
{
    "eurostocksAdId": 2683717
}
```

## Delete an Ad

<mark style="color:red;">`DELETE`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/{locationId}/{eurostocksAdId}`

No need to delete images before deleting vehicle.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle you want to delete          |

**Sample Success Request**

```json
DELETE /api/v2/vehicledatasupplier/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK

{
    "Code": "OK",
    "Message": "Vehicle successfully deleted."
}
```

## Upload an image

<mark style="color:green;">`POST`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/images/{locationId}/{eurostocksAdId}/{displaySequence}`

Upload new image by binary data.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name            | Type   | Description                                                         |
| --------------- | ------ | ------------------------------------------------------------------- |
| locationId      | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId  | Number | Unique Identification number of vehicle you want to delete          |
| displaySequence | Number | Sequence no. of the new image to show on the EuroStocks website     |

**Data Types**

| Request           | Success Response               |
| ----------------- | ------------------------------ |
| binary image data | Image details in binary format |

**Sample Success Request**

```json
POST /api/v2/vehicledatasupplier/images/{locationId}/{eurostocksAdId}/{displaySequence}
HOST: vehicles-data-api.eurostocks.com

images = "binary image data"
```

**Sample Success Response**

```json
HTTP/1.1 201 Created
					
{
    "images": [
        {
            "ref": "https://images.autospulletjes.nl/1/93d16af95549c646/webshop/vehicles/211925/xlarge/volkswagen-golf-211925-aber2fga.jpg"
        }
    ]
}
```

| Replace existing image with new image. |
| -------------------------------------- |

## Update existing image

<mark style="color:purple;">`PATCH`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/images/{locationId}/{eurostocksAdId}/{displaySequence}`

Replace existing image with new image.

#### Headers

| Name     | Type   | Description                        |
| -------- | ------ | ---------------------------------- |
| UserName | String | Username which EuroStocks provides |
| Password | String | Password which EuroStocks provides |
| APIKey   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle you want to replace image   |
| displaySequence                                  | Number | Sequence no. of the new image want to patch                         |

**Data Types**

| Request           | Success Response               |
| ----------------- | ------------------------------ |
| binary image data | Image details in binary format |

**Sample Success Request**

```json
PATCH /api/v2/vehicledatasupplier/images/{locationId}/{eurostocksAdId}/{displaySequence}
HOST: vehicles-data-api.eurostocks.com
files = "binary image data"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK	
                      					
{
  "images": [
      {
          "ref": "https://images.autospulletjes.nl/1/93d16af95549c646/webshop/vehicles/211925/xlarge/volkswagen-golf-211925-fgr12fga.jpg"
      }
  ]
}
```

#### Change the order of existing images

## Change the order of existing images

<mark style="color:orange;">`PUT`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/images/{locationId}/{eurostocksAdId}`

Sequence will be set as per provided in the request.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                         | Type   | Description                                                         |
| -------------------------------------------- | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark> | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId                               | Number | Unique Identification number of vehicle                             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Sample Success Request**

```json
PUT /api/v2/vehicledatasupplier/images/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"

{
    "images": [
        {
            "ref": "https://images.autospulletjes.nl/93d16af95549c646/webshop/vehicles/211925/xlarge/volkswagen-golf-211925-3.jpg",
			"displaySequence":2
        },
		{
            "ref": "https://images.autospulletjes.nl/93d16af95549c646/webshop/vehicles/211925/xlarge/volkswagen-golf-211925-1.jpg",
			"displaySequence":3
        },
		{
            "ref": "https://images.autospulletjes.nl/93d16af95549c646/webshop/vehicles/211925/xlarge/volkswagen-golf-211925-2.jpg",
			"displaySequence":1
        }
    ]
}
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
```

## Delete images

<mark style="color:red;">`DELETE`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/image/{locationId}/{eurostocksAdId}/{displaySequence}`

Delete image from the Ad using eurostocksAdId.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKe<mark style="color:red;">\*</mark>    | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle                             |
| displaySequence                                  | Number | Sequence no. of the image you want to delete                        |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Sample Success Request**

```json
DELETE /api/v2/vehicledatasupplier/image/{locationId}/{eurostocksAdId}/{displaySequence}
HOST: vehicles-data-api.eurostocks.com
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
```

## Upload interior 360d images

<mark style="color:green;">`POST`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}/{displaySequence}`

Upload new 360d image by binary data..

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle you want to replace image   |
| displaySequence                                  | Number | Sequence no. of the new image                                       |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Data Types**

| Request           | Success Response               |
| ----------------- | ------------------------------ |
| fileName          | Name of the image to update    |
| binary image data | Image details in binary format |

**Sample Success Request**

```json
POST /api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}/{displaySequence}
HOST: vehicles-data-api.eurostocks.com
interiorimages = "binary image data"
```

**Sample Success Response**

```json
HTTP/1.1 201 Created
					
{
    "images": [
        {
            "ref": "https://images.autospulletjes.nl/93d16af95549c646/webshop/vehicles/129849/360d/interior/Volkswagen-Golf-1.jpg"
        }
    ]
}	
```

## Update 360d existing image

<mark style="color:purple;">`PATCH`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}`

Replace existing image with new image.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey                                     | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name           | Type   | Description                                                         |
| -------------- | ------ | ------------------------------------------------------------------- |
| locationId     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId | Number | Unique Identification number of vehicle you want to replace image   |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Data Types**

| Request           | Success Response               |
| ----------------- | ------------------------------ |
| fileName          | Name of the image to update    |
| binary image data | Image details in binary format |

**Sample Success Request**

```json
PATCH /api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com
fileName = "Accord-124Spider-1245678-1.JPG"
interiorimages = "binary image data"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK	
```

## Change the order of existing interior 360d images

<mark style="color:orange;">`PUT`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}`

Sequence will be set as per provided in the request.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                         | Type   | Description                                                         |
| -------------------------------------------- | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark> | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId                               | String | Unique Identification number of vehicle                             |

**Sample Success Request**

```json
PUT /api/v2/vehicledatasupplier/interior360dimages/{locationId}/{EuroStocksAdId}
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
{
 "Images": [
        {
		   "ref": "https://images.autospulletjes.nl/93d16af95549c646/webshop/vehicles/129849/360d/interior/Volkswagen-Golf-1.jpg",
		   "displaySequence":2
        },
		{
		   "ref": "https://images.autospulletjes.nl/93d16af95549c646/webshop/vehicles/129849/360d/interior/Volkswagen-Golf-2.jpg",
		   "displaySequence":1
        }
    ]
}
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
```

## Delete 360d interior image

<mark style="color:red;">`DELETE`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}/{displaySequence}`

Delete image from the Ad using eurostocksAdId.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle                             |
| displaySequence                                  | Number | Sequence no. of the image you want to delete                        |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Sample Success Request**

```
DELETE /api/v2/vehicledatasupplier/interior360dimages/{locationId}/{eurostocksAdId}/{displaySequence}
HOST: vehicles-data-api.eurostocks.com
```

**Sample Success Response**

```
HTTP/1.1 200 OK
```

## Get an Ad Information

<mark style="color:blue;">`GET`</mark>&#x20;

`vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehicleDetails/{locationId}/{eurostocksAdId}`

This endpoint returns comprehensive data for the specified advertisement, including its features, attributes, and portalInfo object.\
See the example responses below for more details.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                         | Type   | Description                                                         |
| -------------------------------------------- | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark> | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId                               | Number | Unique Identification number of vehicle                             |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/vehicleDetails/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
                                
{
    "eurostocksAdId": 1234567,
    "locationId": 1,
    "dataSupplierId": 0,
    "vehicleType": "AUTOS",
    "vehicleCategory": "SMALL_CAR",
    "model": "I4",
    "make": "BMW",
    "firstRegistrationDate": "20251106",
    "modelCode": "G26",
    "licensePlate": "JLD77J",
    "priceInfo": {
        "vat": "12276.84",
        "netPrice": "59048.16",
        "grossPrice": "71325"
    },
    "vehicleInfo": [
        {
            "LANGUAGE_ISO_CODE": "nl",
            "EXTERNAL_PRODUCT_URL": "https://www.test.nl/aanbod/49326642",
            "WARRANTY_DESCRIPTION": "36 maanden",
            "OTHER_ATTRIBUTES": "Carrosserievorm: <b>Hatchback (5-drs)</b><br />Modelreeks: <b>jul. 2024 - 2025</b><br />Koppel: <b>400 Nm</b><br />GVW: <b>2.555 kg</b><br />Max. trekgewicht: <b>1.600 kg</b> (ongeremd 750 kg)<br />Actieradius: <b>462 km</b><br />Acceleratie (0-100): <b>6,0 s</b><br />Topsnelheid: <b>190 km/u</b><br />Bekledingcode: <b>MAOI</b><br />Garantielabel: <b>BMW Premium Selection (24 maanden)</b><br />Motorrijtuigenbelasting: <b>&euro;&nbsp;93 - &euro;&nbsp;103</b> per kwartaal<br />Typenummer: <b>11HD</b><br />Fabrikant: Dusseldorp BV Kayersdijk 150 7332AW  APELDOORN, NL 055 5380380 http://www.dusseldorpbmw.nl apeldoorn@dusseldorpbmw.nl",
            "STANDARD_DEALER_DESCRIPTION": "Bij Dusseldorp beleeft u rijplezier in al zijn vormen. Of het nu gaat om een BMW, MINI of BMW Motorrad &ndash; wij bieden &eacute;&eacute;n van de grootste selecties van Nederland. Van de iconische MINI Cooper met zijn onmiskenbare go-kart feeling, tot de sportieve BMW M-modellen en avontuurlijke GS-motoren: bij ons vindt u precies wat bij uw rijstijl past. Als oudste BMW-dealer van Nederland &eacute;n nog altijd een familiebedrijf sinds 1909, staan wij bekend om onze persoonlijke service en vakmanschap. Maak een vrijblijvende proefrit, ontdek ons ruime aanbod online of vraag direct een passend (inruil)voorstel aan. Met 13 Dusseldorp-vestigingen in Alkmaar, Apeldoorn, Barendrecht, Brielle, Deventer, Den Haag, Hoorn, Oostzaan, Rotterdam, Schiedam, Wateringen en Zwolle is er altijd een team in de buurt dat u persoonlijk welkom heet.",
            "VEHICLE_SPECIFIC_DESCRIPTION": "Topprestaties zonder emissies: de BMW i4 is een elektrische auto zonder compromissen. U hoort slechts het lichte gezoem van de elektromotor tijdens het rijden. Het is vermeldenswaard dat deze auto maar 6999 kilometer heeft gereden sinds 2025. Een krachtige motor geeft deze auto zijn sportieve prestaties. Lekker hoor, die verwarmbare voorstoelen. Helemaal op koude dagen. Natuurlijk zijn de sportstoelen super functioneel als het rechterpedaal ingetrapt wordt. Maar ook voor het uiterlijk doen ze veel! Een heerlijk zonnetje, of indrukwekkende wolkenpartijen? Bekijk ze onbelemmerd door het elektrisch bediende glazen panoramadak. De elektrische achterklep opent met een druk op de knop, zodat u gemakkelijk toegang heeft tot de bagageruimte. Bij de rijke uitrusting horen ook 18 inch lichtmetalen velgen, LED koplampen, BMW M-sportonderstel, donker getint glas achter, LED-achterlichten en snelheidsafhankelijke stuurbekrachtiging. <br /><br />Omdat goed ge&iuml;nformeerd rijden tegenwoordig om veel meer draait dan alleen snelheid en brandstofpeil, laat het digitale dashboard alle functies zien die u nodig heeft. Ongelukken of parkeerschade? Dat gebeurt u niet meer, met de achteruitrijcamera. Adaptive cruise control houdt de ingestelde snelheid vast en houdt automatisch afstand tot uw voorligger. Een technisch en comfortvergrotend hoogstandje is de elektrisch inklapbare trekhaak. Mocht zich een probleem voordoen, dan krijgt u via remote services op uw smartphone te zien wat er precies aan de hand is, waar u ook bent. De uitrusting van deze auto is met dashboard met spraakbediening, full map navigatiesysteem, WIFI-hotspot, automatische airconditioning, lederen sportstuur en DAB ontvangst behoorlijk compleet. <br /><br />Elektronische veiligheidsvoorzieningen helpen u onderweg om de situatie op de weg te beoordelen. Deze systemen waarschuwen u als er een riskante situatie ontstaat, en kunnen in bepaalde gevallen ook zelf ingrijpen. De camera van de verkeersborddetectie herkent verschillende soorten verkeersborden en toont deze op het dashboard. Het Lane-keeping systeem zorgt voor een automatisch constante positie binnen de rijstrook. Afdwalen is uitgesloten. Dankzij veiligheidsvoorzieningen als voetgangersbescherming, hill hold functie, autonoom remsysteem en bandenspanningcontrolesysteem, bent u steeds veilig onderweg. <br /><br />Altijd al elektrisch willen rijden? Het moment voor een proefrit is nu!",
            "VARIANT": "eDrive35 M Sport Edition 70 kWh",
            "OTHER_FEATURES": "19 inch LM M Y-spaak (styling 859 M)in Bicolor Jet Black uni (03FK), achterbank in 3 delen neerklapbaar met skiluik, Achterspoiler, Achteruitrijcamera, Achteruitrijcamera (03AG), Actieve Voetgangersbescherming (08TF), Active Cruise Control (05DF), Active Guard Plus (05AQ), Adaptieve LED koplampen en laser achterlichten (0552), AG Intern (08R3), AG intern (08WC), AG Intern (08WD), AG intern (08WN), Airbag(s) hoofd achter, Airbag(s) hoofd voor, Airbag(s) side voor, Airbag bestuurder, Airbag passagier, airco automatisch, Airco separaat achter, Akoestische waarschuwing voor voetgangers (04U9), Alarm klasse 3, Alarmsysteem klasse 3 (VbV/SCM) (0302), Aluminium interieur afwerking, Ambiance verlichting (04UR), Anti Blokkeer Systeem, Anti doorSlip Regeling, Apple Carplay/Android Auto, Armsteun voor, Audio installatie, Automatisch dimmende binnen- en buitenspiegel bestuurderzijde (0430), Automatische 3-zone airconditioning (0534), Automatische dimmende binnenspiegel (0431), automatische snelheidsbegrenzing ISA, Autonomous Emergency Braking, Bandenspanningscontrolesysteem, Bandenspanningsweergavesysteem (02VB), Binnenspiegel automatisch dimmend, Bluetooth, BMW Connected Pack Professional (06C4), BMW Live Cockpit Plus (06U2), BMW TeleServices (06AE), BMW Widescreen Display (06WC), Boordcomputer, Buitenspiegel(s) automatisch dimmend, Buitenspiegels elektrisch inklapbaar, Buitenspiegels elektrisch verstelbaar, Buitenspiegels in carrosseriekleur, Buitenspiegels verwarmbaar, centrale vergrendeling met afstandsbediening, Comfort Access (0322), Comfort Pack (07LG), ConnectedDrive Services (06AK), Connected services, Cruise control, Dab, DAB-tuner (0654), DAB ontvanger, Deactiverings passagiersairbag (05DA), Dimlichten automatisch en regensensor, Draadloos oplaadstation (06NX), Elektrisch bedienbare achterklep, Elektrisch bediend glazen schuif-/kanteldak (0403), Elektrische ramen achter, Elektrische ramen voor, Elektrisch glazen schuif-/kanteldak, Elektrisch verstelbare lendensteun voor bestuurder en passagier (0488), Elektrisch verwarmde voorstoelen (0494), Elektronisch Stabiliteits Programma, Extra getint glas, Extra getint glas in achterportierruiten en achterruit (0420), geluidsimulator, Gevarendriehoek en verbanddoos (0428), hemelbekleding donker, Hifi System (0676), High-beam assistant (05AC), Hill hold functie, In de breedte verstelbare rugleuning (0491), Intelligent Emergency Call (06AF), interieur voorverwarming/(koeling), Keyless start, Kunstlederen bekleding, Laadkabel (Mode 3, 22kW) (04T2), LED achterlichten, LED dagrijverlichting, LED koplampen, Luchtvering en automatische niveauregeling, M achterspoiler (0754), M Aerodynamica, M Aerodynamicapakket (0715), Metaalkleur, M Hemelbekleding in Anthrazit uitgevoerd (0775), M Hoogglans Shadow Line met uitgebreide omvang (07M9), M Interieurlijsten Rhombicle Anthrazit (04LN), M Koplampen Shadow Line (03MF), M Sport Edition (0ZME), M Sportpakket (0337), M Sportpakket Pro (033B), M Sportremsysteem Rot (03M2), M Sportstuurwiel met leder bekleed (0710), Multimedia-voorbereiding, multimedia scherm standaard, Navigatiesysteem full map, Opbergpakket (0493), Oplaadmogelijkheid, Park Distance Control (PDC) voor en achter (0508), Parkeer assistent, Parkeersensor achter, Parkeersensor voor, Parking Assistant (05DM), Personal eSIM (06PA), Raamomlijsting M hoogglans Shadow Line (0760), Radio, Rijstrooksensor, ruitensproeiers/wisserbladen verwarmbaar, sfeerverlichting, Sportstoelen, sportstuur leder, Spraakbediening, Stuurbekrachtiging snelheidsafhankelijk, stuur multifunctioneel, Trekhaak elektrisch uitklapbaar, Trekhaak met elektrisch wegklapbare kogel (03AC), Veiligheidsgordels voorzien van M striping (04GQ), Verkeersbord detectie, Volledig digitaal instrumentenpaneel, Voorstoelen verwarmd, Wielslotbouten (02PA), WiFi, Zonder Service Inclusive (0ZUN), zwarte (glans) exterieur delen"
        },
        {
            "LANGUAGE_ISO_CODE": "en",
            "EXTERNAL_PRODUCT_URL": "https://www.test.nl/aanbod/49326642",
            "WARRANTY_DESCRIPTION": "36 months",
            "OTHER_ATTRIBUTES": "Type of body: <b>Hatchback (5 drs)</b><br />Model range: <b>Jul 2024 - 2025</b><br />Torque: <b>400 Nm</b><br />GVW: <b>2.555 kg</b><br />Max. towing weight: <b>1.600 kg</b> (unbraked 750 kg)<br />Range: <b>462 km</b><br />Acceleration (0-100 kph): <b>6,0 s</b><br />Top speed: <b>190 km/h</b><br />Upholstery code: <b>MAOI</b><br />Type number: <b>11HD</b><br />Manufacturer: Dusseldorp BV Kayersdijk 150 7332AW  APELDOORN, NL 055 5380380 http://www.dusseldorpbmw.nl apeldoorn@dusseldorpbmw.nl",
            "OTHER_FEATURES": "Active pedestrian safety (08TF), Adaptive cruise control (05DF), Air suspension, Alarm system Class III, Ambient lighting, Android Auto, Anti-lock braking system, Anti-slip regulation, Apple CarPlay, Automatically dimming rear mirror, Automatic dimming exterior mirrors, Automatic dipped headlights, Automatic parking assistent, Bluetooth car kit, Climate control, Collision mitigation by braking, Cruise control, Digital cockpit, Door mirrors in colour of body, Driver's airbag, Electrically adjustable door mirrors, Electrically folding door mirrors, Electrically folding towbar, Electrically operated front windows, Electrically operated rear windows, Electrically operated sliding/tilting roof, Electrically operated tailgate, Emergency call system (06AF), ESC, Front and rear parking sensors (0508), Front central armrest, Front head airbags, Front parking sensors, Front side airbags, Heated door mirrors, Heated seat, High beam assist (05AC), Hill-hold control, Keyless start, Lane departure warning, Leather steering wheel, LED daytime running lights, LED headlights, LED rear lights, Level control, Lumbar supports (0488), Metallic paint, Multifunctional steering wheel, Multimedia enabled, Navigation system, Onboard computer, Passenger airbag, Radio, Radio with DAB, Rain sensor, Rear air conditioning, Rear head airbags, Rear parking sensor, Rear seats foldable in parts, Rear spoiler, Remote central locking, Reversing camera, Ski hatch, Sound system (0676), Speed-dependent power steering, Sports package (033B), Sports seats, Sports steering wheel, Sports version (0337), Tinted glass, Traffic sign recognition, Triple-zone climate control (0534), Tyre pressure control, Voice control, WiFi hotspot"
        },
        {
            "LANGUAGE_ISO_CODE": "de",
            "EXTERNAL_PRODUCT_URL": "https://www.test.nl/aanbod/49326642",
            "WARRANTY_DESCRIPTION": "36 Monate",
            "OTHER_ATTRIBUTES": "Karosserieform: <b>Steilheck (5-t&uuml;rig)</b><br />Modellbereich: <b>Juli 2024 - 2025</b><br />Drehmoment: <b>400 Nm</b><br />zGG: <b>2.555 kg</b><br />Max. Zuglast: <b>1.600 kg</b> (ungebremst 750 kg)<br />Einsatzbereich: <b>462 km</b><br />Beschleunigung (0&ndash;100): <b>6,0 s</b><br />H&ouml;chstgeschwindigkeit: <b>190 km/h</b><br />Polstercode: <b>MAOI</b><br />Typennummer: <b>11HD</b><br />Hersteller: Dusseldorp BV Kayersdijk 150 7332AW  APELDOORN, NL 055 5380380 http://www.dusseldorpbmw.nl apeldoorn@dusseldorpbmw.nl",
            "OTHER_FEATURES": "Adaptive Cruise Control (05DF), Aktive Fußgängersicherheit (08TF), Alarmsystem Klasse III, Android Auto, Antiblockiersystem, Antriebsschlupfregelung, Apple CarPlay, Automatisch abblendende Außenspiegel, Automatisches Abblendlicht, Automatisch gedimmter Innenrückspiegel, Außenspiegel in Karosseriefarbe, Beheizte Außenspiegel, Beifahrerairbag, Bluetooth-Carkit, Bordcomputer, Drei-Zonen-Klimaautomatik (0534), Durchreihe, Elektrisch ausklappbare Anhängerkupplung, Elektrisch betriebene Kofferraumklappe, Elektrische Fensterheber hinten, Elektrische Fensterheber vorn, Elektrisch einklappbare Außenspiegel, Elektrisches Schiebe-/Kippdach, Elektrisch verstellbare Außenspiegel, ESP, Fahrerairbag, Fernbediente Zentralverriegelung, Geschwindigkeitsabhängige Servolenkung, Geschwindigkeitsregelanlage, Geteilt umklappbare Rückbank, Getöntes Glas, Heckspoiler, Hill-hold control, Keyless start, Klimaanlage, Klimaanlage hinten, Kollisionsminderung durch Bremsen, Kopfairbags hinten, Kopfairbags vorn, LED-Rücklichter, LED-Scheinwerfer, LED-Tagesfahrbeleuchtung, Lederlenkrad, Lendenstützen (0488), Luftfederung, Metalliclack, Mittelarmlehne vorn, Multifunktionales Lenkrad, Multimediafähig, Navigationssystem, Niveauregelung, Notrufsystem (06AF), Parkhilfe, Parksensoren hinten, Parksensoren vorn, Parksensoren vorn und hinten (0508), Radio, Radio mit DAB, Regensensor, Reifendruckkontrolle, Rückwärtsfahrkamera, Scheinwerferassistent (05AC), Seitenairbags vorn, Sitzheizung, Soundsystem (0676), Sportausführung (0337), Sportlenkrad, Sportpaket (033B), Sportsitze, Sprachsteuerung, Spurhalteassistent, Umgebungsbeleuchtung, Verkehrszeichenerkennung, Volldigitales Kombi­instrument, WiFi-Hotspot"
        }
    ],
    "features": {
        "ELECTRIC_EXTERIOR_MIRRORS": "YES",
        "ELECTRIC_HEATED_SEATS": "YES",
        "ELECTRIC_TAILGATE": "YES",
        "ELECTRIC_WINDOWS": "YES",
        "EMERGENCY_CALL_SYSTEM": "YES",
        "ENERGY_EFFICIENCY_CLASS": "A",
        "ESP": "YES",
        "EXTERIOR_COLOR": "BLACK",
        "FOLDING_ROOF": "YES",
        "FUEL": "ELECTRICITY",
        "GEARBOX": "AUTOMATIC_GEAR",
        "HANDS_FREE_PHONE_SYSTEM": "YES",
        "HEADLIGHT_TYPE": "LED_HEADLIGHTS",
        "HEATEDMIRRORS": "YES",
        "HIGH_BEAM_ASSIST": "YES",
        "HILL_START_ASSIST": "YES",
        "INTERIOR_COLOR": "BEIGE",
        "INTERIOR_TYPE": "LEATHER",
        "LANE_DEPARTURE_WARNING": "YES",
        "LEATHER_STEERING_WHEEL": "YES",
        "LIGHT_SENSOR": "YES",
        "LUMBAR_SUPPORT": "YES",
        "METALLIC": "YES",
        "MULTIFUNCTIONAL_WHEEL": "YES",
        "NAVIGATION_SYSTEM": "YES",
        "ON_BOARD_COMPUTER": "YES",
        "POWER_ASSISTED_STEERING": "YES",
        "SKI_BAG": "YES",
        "SOUND_SYSTEM": "YES",
        "SPEED_CONTROL": "ADAPTIVE_CRUISE_CONTROL",
        "SPORT_PACKAGE": "YES",
        "DIMMING_INTERIOR_MIRROR": "YES",
        "DIGITAL_COCKPIT": "YES",
        "DAY_TIME_RUNNING_LAMPS": "LED_RUNNING_LIGHTS",
        "DAMAGE_UNREPAIRED": "NO",
        "CLIMATISATION": "AUTOMATIC_CLIMATISATION_3_ZONES",
        "CENTRAL_LOCKING": "YES",
        "CAR_PLAY": "YES",
        "BLUETOOTH": "YES",
        "AVAILABILITY": "AVAILABLE",
        "AUTOMATIC_RAINSENSOR": "YES",
        "ARM_REST": "YES",
        "ANDROID_AUTO": "YES",
        "AMBIENT_LIGHTING": "YES",
        "ALARM_SYSTEM": "YES",
        "AIRBAG": "FRONT_AND_SIDE_AND_MORE_AIRBAGS",
        "AIR_SUSPENSION": "YES",
        "ABS": "YES",
        "SPORT_SEATS": "YES",
        "SUN_ROOF": "YES",
        "TIRE_PRESSURE_MONITORING": "YES",
        "TRACTION_CONTROL_SYSTEM": "YES",
        "TRAFFIC_SIGN_RECOGNITION": "YES",
        "TRAILER_COUPLING_TYPE": "TRAILER_COUPLING_SWIVELING",
        "USAGE_TYPE": "DEMONSTRATION",
        "VEHICLES_DRIVE_TYPE": "VEHICLES_DRIVE_TYPE_REAR",
        "VOICE_CONTROL": "YES",
        "WARRANTY": "YES",
        "WIFI_HOTSPOT": "YES",
        "CONDITION_VEHICLES": "USED",
        "PARKINGASSISTANTS": [
            "FRONT_SENSORS",
            "REAR_SENSORS",
            "CAMERA",
            "AUTOMATIC_PARKING"
        ],
        "RADIO": [
            "TUNER",
            "DAB_RADIO"
        ]
    },
    "attributes": {
        "CO2": "0",
        "FIRST_MODELS_PRODUCTION_DATE": "01-07-2024",
        "APK_VALID_UNTIL": "06-11-2029",
        "VAT_PRICE_CUSTOMER_OUTSIDE_NL": "12276.84",
        "VEHICLE_HEIGHT": "1450",
        "CONSUMPTION_POWER_COMBINED": "165",
        "VEHICLE_WIDTH": "1850",
        "CURB_WEIGHT": "1975",
        "NUMBER_OF_PREVIOUS_OWNERS": "2",
        "CONSTRUCTION_YEAR": "2025",
        "POWER": "210",
        "VEHICLES_WHEELBASE_IN_CM": "286",
        "VEHICLE_LENGTH": "4780",
        "DOOR_COUNT": "5",
        "SEAT_COUNT": "5",
        "LOAD_CAPACITY": "580",
        "NET_PRICE_OUTSIDE_NL_B2C": "58461.16",
        "REST_BPM": "587",
        "MILEAGE": "6999",
        "GROSS_PRICE_OUTSIDE_NL_B2C": "70738",
        "VMS_MAKE": "BMW",
        "VMS_TYPE": "eDrive35 M Sport Edition 70 kWh",
        "VMS_MODEL": "i4",
        "MANUFACTURER_COLOR_NAME": "Saphirschwarz metallic"
    },
    "images": [
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-accca0da.jpg",
            "displaySequence": 1
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-3779322d.jpg",
            "displaySequence": 2
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-ef796322.jpg",
            "displaySequence": 3
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-54873f8b.jpg",
            "displaySequence": 4
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-b6d603ac.jpg",
            "displaySequence": 5
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-baefc0a2.jpg",
            "displaySequence": 6
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-5c116833.jpg",
            "displaySequence": 7
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-9e6470cf.jpg",
            "displaySequence": 8
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-345a9cb2.jpg",
            "displaySequence": 9
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-bf57250f.jpg",
            "displaySequence": 10
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-3eed76f7.jpg",
            "displaySequence": 11
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-4b47a36d.jpg",
            "displaySequence": 12
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-9a232a24.jpg",
            "displaySequence": 13
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-a1b20f42.jpg",
            "displaySequence": 14
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-978fc265.jpg",
            "displaySequence": 15
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-4125ea37.jpg",
            "displaySequence": 16
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-ae146d08.jpg",
            "displaySequence": 17
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-86f3293e.jpg",
            "displaySequence": 18
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-865160c8.jpg",
            "displaySequence": 19
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-d3c765fe.jpg",
            "displaySequence": 20
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-34c9dc25.jpg",
            "displaySequence": 21
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-3929585e.jpg",
            "displaySequence": 22
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-9fd0f32a.jpg",
            "displaySequence": 23
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-ea660cf9.jpg",
            "displaySequence": 24
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-abef61b2.jpg",
            "displaySequence": 25
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-5f7e3875.jpg",
            "displaySequence": 26
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-59c53103.jpg",
            "displaySequence": 27
        },
        {
            "ref": "https://images.automotivecdn.nl/1/318a1f1570feeb54/webshop/vehicles/2740304/original/bmw-i4-2740304-d3e11744.jpg",
            "displaySequence": 28
        }
    ],
    "portalInfo": {
        "InventoryManagement": {
            "inventoryStatus": "active",
            "cmsUrl": "https://login.eurostocks.com/#/vehicle/vehicledetails/generaldetails/2740304"
        },
        "eurostocks.com": {
            "detailPageUrl": "https://www.eurostocks.com/nl/voertuigen/autos/kleine-auto/vehicle/3666767/bmw-i4-edrive35-m-sport-edition-70-kwh",
            "searchable": false,
            "availableForPurchase": false
        },
        "mobile.de": {
            "online": false,
            "detailPageUrl": null,
            "eligibleForRating": true,
            "rating": {
                "Label": "HIGH_PRICE",
                "labelRanges": [
                    {
                        "Label": "VERY_GOOD_PRICE",
                        "From": "40400",
                        "To": "52500"
                    },
                    {
                        "Label": "GOOD_PRICE",
                        "From": "52500",
                        "To": "56500"
                    },
                    {
                        "Label": "REASONABLE_PRICE",
                        "From": "56500",
                        "To": "62900"
                    },
                    {
                        "Label": "INCREASED_PRICE",
                        "From": "62900",
                        "To": "67500"
                    },
                    {
                        "Label": "HIGH_PRICE",
                        "From": "67500",
                        "To": "75000"
                    }
                ],
                "reasons": []
            }
        }
    }
}
```

## Get Location Information

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/locations`

Get all the locations details associated with supplier.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/locations
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK                                
[
  {
    "locationId": 1,
    "locationName": "Autospulletjes",
    "postCode": "1054WS",
    "street": "Wilhelminastraat",
    "houseNumber": 162,
    "houseNumberExtension": "hs",
    "city": "Amsterdam"
  }
  ....
]
```

## Get an Ad Information From Location

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehicleDetails/{locationId}/`

Get all vehicles added for specific location and location must be associated with supplier.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                         | Type   | Description                                                         |
| -------------------------------------------- | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark> | Number | Unique Identification number of location for which vehicle is added |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/vehicleDetails/{locationId}
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
                                
[
  {
    "eurostocksAdId": 1519,
    "locationId": 1,
    "vehicleType": "AUTOS",
    "vehicleCategory": "ESTATE_CAR",
    "make": "AUDI",
    "model": "A3",
    "trimline": "Trendline",
    "modelCode": "AM1",
    "licensePlate": "79XXBH",
    "firstRegistrationDate": "20060113"
  },  
....
]
```

## Vehicle Types

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehicletypes`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/vehicletypes
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK

[
  {
    "Key": "AUTOS",
    "Description": "Auto's"
  },
  {
    "Key": "AGRICULTURAL_VEHICLE",
    "Description": "Landbouwvoertuigen"
  },
  {
    "Key": "BUSSES",
    "Description": "Bussen"
  },
  {
    "Key": "CONSTRUCTION_MACHINES",
    "Description": "Bouwmachines"
  },
  ....
]
```

## Vehicle Category

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/vehiclecategories/{vehicleTypeKey}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                             |
| ------------------------------------------------ | ------ | --------------------------------------- |
| vehicleTypeKey<mark style="color:red;">\*</mark> | String | Vehicle type key to get it's categories |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/vehiclecategories/AUTOS
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK

[
  {
    "Key": "CONVERTIBLE_ROADSTER",
    "Description": "Cabriolet | Roadster"
  },
  {
    "Key": "COUPE",
    "Description": "Coupé"
  },
  {
    "Key": "ESTATE",
    "Description": "Stationwagen"
  },
  {
    "Key": "OTHER",
    "Description": "Overige"
  },
  {
    "Key": "SALOON",
    "Description": "Sedan"
  },
  ...
]
```

## Makes

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/makes/{vehicleTypeKey}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                        |
| ------------------------------------------------ | ------ | ---------------------------------- |
| vehicleTypeKey<mark style="color:red;">\*</mark> | String | Vehicle type key to get it's makes |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/makes/AUTOS
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
							
[
   {
    "Key": "ABARTH",
    "Description": "Abarth"
  },
  {
    "Key": "ABG",
    "Description": "ABG"
  },
  {
    "Key": "ABI",
    "Description": "ABI"
  },
  {
    "Key": "AC",
    "Description": "AC"
  },
  {
    "Key": "ACCESS_MOTOR",
    "Description": "Access Motor"
  },
  ...
]
```

## Models

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/models/{vehicleTypeKey}/{makeKey}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                               |
| ------------------------------------------------ | ------ | --------------------------------------------------------- |
| vehicleTypeKey<mark style="color:red;">\*</mark> | String | Vehicle type key to get it's model based on selected make |
| makeKey<mark style="color:red;">\*</mark>        | String | Make key to get related models                            |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/models/AUTOS/ABARTH
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
						
[
  {
    "Key": "124_SPIDER",
    "Description": "124 Spider"
  },
  {
    "Key": "500",
    "Description": "500"
  },
  {
    "Key": "500C",
    "Description": "500C"
  },
  {
    "Key": "595",
    "Description": "595"
  },
  {
    "Key": "595_COMPETIZIONE",
    "Description": "595 Competizione"
  },
  {
    "Key": "595_TURISMO",
    "Description": "595 Turismo"
  },
  ...
]
```

## Features

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/features/{vehicleTypeKey}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                      |
| ------------------------------------------------ | ------ | -------------------------------- |
| vehicleTypeKey<mark style="color:red;">\*</mark> | String | Vehicle type key to get features |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/features/AUTOS
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
						
[
  {
    "Key": "ABS",
	"Description": "ABS",
    "IsMandatory": false,
    "IsMultipleAllowed": false,
    "IsPriceFeature": false,
    "IsDefaultFeature": false
  },
  {
    "Key": "ACCIDENT_DAMAGED",
	"Description": "Schade verleden",
    "IsMandatory": false,
    "IsMultipleAllowed": false,
    "IsPriceFeature": false,
    "IsDefaultFeature": false
  },
  {
    "Key": "AIR_SUSPENSION",
	"Description": "Luchtvering",
    "IsMandatory": false,
    "IsMultipleAllowed": false,
    "IsPriceFeature": false,
    "IsDefaultFeature": false
  }, 
  ...
  {
    "Key": "PARKINGASSISTANTS",
	"Description": "Parkeersensoren",
    "IsMandatory": false,
    "IsMultipleAllowed": true,
	"IsPriceFeature": false,
    "IsDefaultFeature": false
  },
  ...
]
```

## Feature Values

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/featurevalues/{featureKey}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                         | Type   | Description                    |
| -------------------------------------------- | ------ | ------------------------------ |
| featureKey<mark style="color:red;">\*</mark> | String | Feature key to get it's values |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/featurevalues/PARKINGASSISTANTS
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
							
[
  {
    "Key": "CAM_360_DEGREES",
	"Description": "360° camera"
  },
  {
    "Key": "AUTOMATIC_PARKING",
	"Description": "Zelfsturend systeem | Parking Assistent"
  },
  {
    "Key": "CAMERA",
	"Description": "Camera"
  },
  {
    "Key": "ACHTER",
	"Description": "Achter"
  },
  {
    "Key": "VOOR",
	"Description": "Voor"
  }
]
```

## Attributes

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/attributes/{vehicleTypeKey}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                        |
| ------------------------------------------------ | ------ | ---------------------------------- |
| vehicleTypeKey<mark style="color:red;">\*</mark> | String | Vehicle type key to get attributes |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/attributes/AUTOS
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
							
[
  {
    "Key": "TITLE_ADDITIONAL_REMARKS",
	"Description": "Extra aanvullende titel omschrijving",
    "InputType": "None",
    "IsManadatory": false,
    "IsMultilingualAttribute": true,
	"IsPriceAttribute": false,
    "IsDefaultAttribute": false
  },
  {
    "Key": "AXLES",
	"Description": "Aantal assen",
    "InputType": "Number",
    "IsManadatory": false,
    "IsMultilingualAttribute": false,
	"IsPriceAttribute": false,
    "IsDefaultAttribute": false
  },
  {
    "Key": "BATTERYCAPACITY",
	"Description": "Capaciteit accu in kWh",
    "InputType": "Number",
    "IsManadatory": false,
    "IsMultilingualAttribute": false,
	"IsPriceAttribute": false,
    "IsDefaultAttribute": false
  },
  ...
]
```

## Languages

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/languages`

List of all supported languages for vehicle info.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/languages
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
							
[
  {
    "Key": "de"
  },
  {
    "Key": "en"
  },
  {
    "Key": "nl"
  },
  ...
]
```

## Sample request Body

<mark style="color:blue;">`GET`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/VehicleDataSupplierRequestTemplate/{vehicleTypeKey}/{mandatoryMode}`

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                                                                                                                                                                          |
| ------------------------------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| vehicleTypeKey<mark style="color:red;">\*</mark> | String | Vehicle type key to get attributes                                                                                                                                                                                   |
| mandatoryMode                                    | String | <p>mandatoryMode=true is when only want mandatory details associated with Vehicle Type in request to create new Ad</p><p>mandatoryMode=false is to get all details associated with Vehicle Type to create new Ad</p> |

**Sample Success Request**

```json
GET /api/v2/vehicledatasupplier/VehicleDataSupplierRequestTemplate/AUTOS/true
HOST: vehicles-data-api.eurostocks.com
Content-type: "application/json"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
							
{
  "eurostocksAdId": null,
  "locationId": 0,
  "dataSupplierAdId": 0,
  "imageCount":0,
  "vehicleType": "",
  "vehicleCategory": "",
  "make": "",
  "priceInfo": {},
  "vehicleInfo": [
    {
      "LANGUAGE_ISO_CODE": "nl"
    },
    {
      "LANGUAGE_ISO_CODE": "en"
    }
  ],
  "features": {},
  "attributes": {}
}
```

## Upload SOH certificate&#x20;

<mark style="color:green;">`POST`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/certificates/{locationId}/{eurostocksAdId}`

Use this endpoint to upload a Battery State of Health (SoH) certificate as binary data. This certificate is required by mobile.de if you want to display the battery health percentage.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name           | Type   | Description                                                         |
| -------------- | ------ | ------------------------------------------------------------------- |
| locationId     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId | Number | Unique Identification number of vehicle you want to delete          |

**Data Types**

| Request              | Success Response                      |
| -------------------- | ------------------------------------- |
| binary document data | Pdf Document details in binary format |

**Sample Success Request**

```json
POST /api/v2/vehicledatasupplier/certificates/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com

certificates = "binary document data"
```

**Sample Success Response**

```json
HTTP/1.1 201 Created
{
    "Status": 200,
    "Message": "",
    "Result": {
        "documentUrl": "https://assets.eurostocks.com/0/ad010a1b9d687319/webshop/vehicles/2927391/certificate/bentley-continentalgt-2927391-4f621735.pdf%22
    }
}		
```

## Update existing SOH certificate

<mark style="color:purple;">`PATCH`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/certificates/{locationId}/{eurostocksAdId}`

Replace existing SOH certificate document with new document.

#### Headers

| Name     | Type   | Description                        |
| -------- | ------ | ---------------------------------- |
| UserName | String | Username which EuroStocks provides |
| Password | String | Password which EuroStocks provides |
| APIKey   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle you want to replace image   |

**Data Types**

| Request              | Success Response                      |
| -------------------- | ------------------------------------- |
| binary document data | Pdf document details in binary format |

**Sample Success Request**

```json
PATCH /api/v2/vehicledatasupplier/certificates/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com
certificates = "binary document data"
```

**Sample Success Response**

```json
HTTP/1.1 200 OK	
                      					
{
    "Status": 200,
    "Message": "",
    "Result": {
        "documentUrl": "https://assets.eurostocks.com/0/ad010a1b9d687319/webshop/vehicles/2927391/certificate/bentley-continentalgt-2927391-4f621735.pdf%22
    }
}
```

## Delete SOH certificate

<mark style="color:red;">`DELETE`</mark>&#x20;

`https://vehicles-data-api.eurostocks.com/api/v2/vehicledatasupplier/certificates/{locationId}/{eurostocksAdId}`

Delete certificate document using eurostocksAdId.

#### Headers

| Name                                       | Type   | Description                        |
| ------------------------------------------ | ------ | ---------------------------------- |
| UserName<mark style="color:red;">\*</mark> | String | Username which EuroStocks provides |
| Password<mark style="color:red;">\*</mark> | String | Password which EuroStocks provides |
| APIKey<mark style="color:red;">\*</mark>   | String | ApiKey which EuroStocks provides   |

#### Request Body

| Name                                             | Type   | Description                                                         |
| ------------------------------------------------ | ------ | ------------------------------------------------------------------- |
| locationId<mark style="color:red;">\*</mark>     | Number | Unique Identification number of location for which vehicle is added |
| eurostocksAdId<mark style="color:red;">\*</mark> | Number | Unique Identification number of vehicle                             |

**Sample Success Request**

```json
DELETE /api/v2/vehicledatasupplier/certificates/{locationId}/{eurostocksAdId}
HOST: vehicles-data-api.eurostocks.com
```

**Sample Success Response**

```json
HTTP/1.1 200 OK
```

## All Error Codes <a href="#error_handling_and_data_validation" id="error_handling_and_data_validation"></a>

#### Overview <a href="#overview_error" id="overview_error"></a>

List of possible error codes with each request.

#### **Vehicle Add/Update vehicle request**

| ErrorCode - 400                                                  |
| ---------------------------------------------------------------- |
| {attributeValue} is invalid value of attribute {attributekey}    |
| {attributeValue} is required                                     |
| Attribute not mapped with this product type                      |
| AttributeValue already exists for {attributekey}                 |
| {attributes} are not valid attributes                            |
| {features} are not valid features                                |
| No Features mapped with this product type                        |
| {features} is not exist for this category                        |
| {featureValue} invalid for feature {featureKey}                  |
| CAMERA and CAM\_360\_DEGREES can not select together for feature |
| {attributes} are mandatory attributes                            |
| {features} are mandatory features                                |
| {featuresValue} already exist for {featureKey}                   |
| Invalid Features Value for feature {featureKey}                  |
| LANGUAGE\_ISO\_CODE Language is not supported                    |
| LANGUAGE\_ISO\_CODE is required to add multilingual attribute    |
| {VehicleType} price can not be 0.                                |
| OTHER make not allowed                                           |
| OTHER model not allowed                                          |
| MILEAGE should not more then 500 for new vehicle                 |
| PRICE\_ON\_REQUEST is not allowed for vehicle type {vehicleType} |
| Extended attribute(s) is mandatory for 'nl' language             |

| ErrorCode - 500      |
| -------------------- |
| Something went wrong |
| Vehicle not added    |

| ErrorCode - 404                                 |
| ----------------------------------------------- |
| sub category does not exist                     |
| product type in not match with this subcategory |
| location is not exists                          |
| Supplier not linked with this location          |
| No vehicle found                                |

#### **Vehicle Add/Update image request**

| ErrorCode - 400                          |
| ---------------------------------------- |
| Invalid request                          |
| Vehicle does not belongs to the supplier |
| Either filename or new image not found   |

| ErrorCode - 404                   |
| --------------------------------- |
| Vehicle not matched with location |

| ErrorCode - 500       |
| --------------------- |
| Internal server error |

#### **Vehicle Delete request**

| ErrorCode - 400                          |
| ---------------------------------------- |
| Invalid request                          |
| Vehicle does not belongs to the supplier |

| ErrorCode - 404                   |
| --------------------------------- |
| Vehicle not matched with location |

| ErrorCode - 500       |
| --------------------- |
| Internal server error |

#### **Get Vehicle request**

| ErrorCode - 400                          |
| ---------------------------------------- |
| Invalid request                          |
| Vehicle does not belongs to the supplier |

| ErrorCode - 404                   |
| --------------------------------- |
| vehicle is not found              |
| Vehicle not matched with location |

| ErrorCode - 500       |
| --------------------- |
| Internal server error |

#### **Vehicle Add/Update certificate request**

| Error Code - 400                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------------------- |
| Invalid request                                                                                                                 |
| Vehicle does not belongs to the supplier                                                                                        |
| Only one certificate can be sent at a time                                                                                      |
| Certificate document with request is already exists                                                                             |
| The vehicle for which certificate is submitted is either deleted or deactivated. You cannot submit certificate for such vehicle |

| Error Code - 403                             |
| -------------------------------------------- |
| File size must be less than or equal to 10MB |
| Only PDF files are allowed                   |

| Error Code - 404                  |
| --------------------------------- |
| Vehicle not matched with location |

| Error Code - 500      |
| --------------------- |
| Internal server error |

#### **Price attributes**

| Parameter                    | Description                         |
| ---------------------------- | ----------------------------------- |
| Parameter                    | Description                         |
| VAT\_RECLAIMABLE             | Vat Reclaimable                     |
| PRICE\_NL                    | Price NL customer                   |
| EX\_VAT\_NL                  | EX\_VAT\_NL customer                |
| EX\_BPM\_NL                  | EX\_BPM\_NL Customer                |
| PRICE\_EXPORT                | PRICE\_EXPORT Customer              |
| EX\_VAT\_EXPORT              | EX\_VAT\_EXPORT Customer            |
| EX\_BPM\_EXPORT              | EX\_BPM\_EXPORT Customer            |
| PRICE\_PORTAL\_NL            | PRICE\_PORTAL\_NL Customer          |
| EX\_VAT\_PORTAL\_NL          | EX\_VAT\_PORTAL\_NL Customer        |
| EX\_BPM\_PORTAL\_NL          | EX\_BPM\_PORTAL\_NL Customer        |
| PRICE\_PORTAL\_EXPORT        | PRICE\_PORTAL\_EXPORT Customer      |
| EX\_VAT\_PORTAL\_EXPORT      | EX\_VAT\_PORTAL\_EXPORT Customer    |
| EX\_BPM\_PORTAL\_EXPORT      | EX\_BPM\_PORTAL\_EXPORT Customer    |
| PRICE\_NL\_B2B               | PRICE\_NL\_B2B Dealer               |
| EX\_VAT\_NL\_B2B             | EX\_VAT\_NL\_B2B Dealer             |
| EX\_BPM\_NL\_B2B             | EX\_BPM\_NL\_B2B Dealer             |
| PRICE\_EXPORT\_B2B           | PRICE\_EXPORT\_B2B Dealer           |
| EX\_VAT\_EXPORT\_B2B         | EX\_VAT\_EXPORT\_B2B Dealer         |
| EX\_BPM\_EXPORT\_B2B         | EX\_BPM\_EXPORT\_B2B Dealer         |
| PRICE\_PORTAL\_NL\_B2B       | PRICE\_PORTAL\_NL\_B2B Dealer       |
| EX\_VAT\_PORTAL\_NL\_B2B     | EX\_VAT\_PORTAL\_NL\_B2B Dealer     |
| EX\_BPM\_PORTAL\_NL\_B2B     | EX\_BPM\_PORTAL\_NL\_B2B Dealer     |
| PRICE\_PORTAL\_EXPORT\_B2B   | PRICE\_PORTAL\_EXPORT\_B2B Dealer   |
| EX\_VAT\_PORTAL\_EXPORT\_B2B | EX\_VAT\_PORTAL\_EXPORT\_B2B Dealer |
| EX\_BPM\_PORTAL\_EXPORT\_B2B | EX\_BPM\_PORTAL\_EXPORT\_B2B Dealer |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eurostocks.com/vehicle-data-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
