Mercedes-Benz Mercedes me Configurations API

Select equipment and configure a car

OpenAPI Specification

mercedes-me-configurations-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  contact:
    name: The open API platform by Mercedes-Benz
    x-twitter: MercedesBenz
  description: The Car Configurator API offers access to the Mercedes-Benz car configuration functions. It provides required reference data such as the masterdata of all Mercedes-Benz vehicles as well as functions to retrieve initial and changed configurations. In addition to that is is possible to save a newly created configuration so that it can be easily restored or shared with others.
  title: Car Configurator Components Configurations API
  version: '1.0'
  x-apisguru-categories:
  - transport
  x-logo:
    url: https://twitter.com/MercedesBenz/profile_image?size=original
  x-origin:
  - format: swagger
    url: https://developer.mercedes-benz.com/content/sites/default/files/2018-08/swagger_car_configurator_api.json
    version: '2.0'
  x-providerName: mercedes-benz.com
  x-serviceName: configurator
host: api.mercedes-benz.com
basePath: /configurator_tryout/v1
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- description: Select equipment and configure a car
  name: Configurations
paths:
  /markets/{marketId}/models/{modelId}/configurations/initial:
    x-swagger-router-controller: Configurations
    get:
      description: Get the initial `VehicleConfiguration` for the given **marketId** and **modelId**.
      operationId: modelConfigurationsGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/modelId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/VehicleConfiguration'
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ModelId is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market or Model not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Initial Configuration for the Given marketId and modelId
      tags:
      - Configurations
  /markets/{marketId}/models/{modelId}/configurations/{configurationId}:
    x-swagger-router-controller: Configurations
    get:
      description: Get the `VehicleConfiguration` for the given **marketId**, **modelId** and **configurationId**.
      operationId: modelConfigurationGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/modelId'
      - $ref: '#/parameters/configurationId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/VehicleConfiguration'
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ModelId is not valid\n * ConfigurationId is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market, Model or Configuration not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Configuration for the Given marketId, modelId and configurationId
      tags:
      - Configurations
  /markets/{marketId}/models/{modelId}/configurations/{configurationId}/alternatives/{componentList}:
    x-swagger-router-controller: configurations176042_002
    get:
      description: Get the `VehicleAlternatives` for the given **marketId**, **modelId** and **configurationId** and the given **componentList** of changes.
      operationId: modelConfigurationAlternativesGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/modelId'
      - $ref: '#/parameters/configurationId'
      - $ref: '#/parameters/componentList'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            items:
              $ref: '#/definitions/VehicleAlternative'
            title: VehicleAlternatives
            type: array
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ModelId is not valid\n * ConfigurationId is not valid\n * ComponentList is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market, Model or Configuration not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Alternatives for the Given marketId, modelId, configurationId and componentList
      tags:
      - Configurations
  /markets/{marketId}/models/{modelId}/configurations/{configurationId}/selectables:
    x-swagger-router-controller: Configurations
    get:
      description: Get the selectable `VehicleComponents` and the `ComponentCategories` of the `VehicleConfiguration` for the given **marketId**, **modelId** and **configurationId**. Optional query param **componentType** may be used to filter the result.
      operationId: modelConfigurationSelectablesGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/modelId'
      - $ref: '#/parameters/configurationId'
      - $ref: '#/parameters/componentTypes'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/VehicleComponentTree'
        '204':
          description: No content found for requested componentTypes
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ModelId is not valid\n * ConfigurationId is not valid\n * ComponentTypes is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market, Model or Configuration not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Selectable Components for the Given marketId, modelId and configurationId
      tags:
      - Configurations
definitions:
  FuelEconomy:
    description: This is for the fuel consumption holding a value and unit.
    properties:
      consumptionOfElectricityMax:
        $ref: '#/definitions/Amount'
      consumptionOfElectricityMin:
        $ref: '#/definitions/Amount'
      emissionCO2Max:
        $ref: '#/definitions/Amount'
      emissionCO2Min:
        $ref: '#/definitions/Amount'
      fuelConsumptionCityMax:
        $ref: '#/definitions/Amount'
      fuelConsumptionCityMin:
        $ref: '#/definitions/Amount'
      fuelConsumptionCombinedMax:
        $ref: '#/definitions/Amount'
      fuelConsumptionCombinedMin:
        $ref: '#/definitions/Amount'
      fuelConsumptionElectricity:
        $ref: '#/definitions/Amount'
      fuelConsumptionOverlandMax:
        $ref: '#/definitions/Amount'
      fuelConsumptionOverlandMin:
        $ref: '#/definitions/Amount'
  NedcEmission:
    description: The Nedc 'New European Drive Cycle' emission.
    properties:
      city:
        $ref: '#/definitions/NedcGear'
      combined:
        $ref: '#/definitions/NedcGear'
      country:
        $ref: '#/definitions/NedcGear'
      weighted:
        $ref: '#/definitions/NedcAmount'
    type: object
  FuelType:
    description: The kind of fuel used by an engine of a vehicle. Where UNDEFINED is used as the default and/or error case.
    enum:
    - NORMAL
    - SUPER
    - SUPERPLUS
    - DIESEL
    - HGAS
    - GAS
    - ELECTRIC
    - FUELCELL
    - UNDEFINED
    type: string
  Wltp:
    description: Holds all relevant informations for the Wltp 'Worldwide harmonized Light vehicles Test Procedure' drive cycle.
    properties:
      consumption:
        $ref: '#/definitions/WltpConsumption'
      emission:
        $ref: '#/definitions/WltpEmission'
  TechnicalInformation:
    description: Contains all technical information calculated using BDAs.
    properties:
      acceleration:
        $ref: '#/definitions/Amount'
      doors:
        type: number
      energyEfficiencyClass:
        type: string
      engine:
        $ref: '#/definitions/Engine'
      nedc:
        $ref: '#/definitions/Nedc'
      seats:
        type: number
      topSpeed:
        $ref: '#/definitions/Amount'
      transmission:
        $ref: '#/definitions/Transmission'
      wltp:
        $ref: '#/definitions/Wltp'
    required:
    - engine
    - transmission
  DriveConcept:
    description: The kind of drive concept of a vehicle. Where UNDEFINED is used as the default and/or error case.
    enum:
    - COMBUSTOR
    - HYBRID
    - ELECTRIC
    - FUELCELL
    - UNDEFINED
    type: string
  NedcAmount:
    description: The Nedc 'New European Drive Cycle' specific amount holds the nedc specific values.
    properties:
      individual:
        $ref: '#/definitions/Amount'
      max:
        $ref: '#/definitions/Amount'
      min:
        $ref: '#/definitions/Amount'
    required:
    - individual
    - min
    - max
    type: object
  VehicleComponentType:
    description: The component type of a vehicle component.
    enum:
    - ANY
    - WHEELS
    - PAINTS
    - UPHOLSTERIES
    - TRIMS
    - PACKAGES
    - LINES
    - SPECIAL_EDITION
    - SPECIAL_EQUIPMENT
    type: string
  VehicleConfiguration:
    description: A vehicle configuration.
    properties:
      _links:
        $ref: '#/definitions/SelfSelectablesImageVehicleLinks'
      changeYear:
        type: string
      configurationId:
        type: string
      configurationPrice:
        $ref: '#/definitions/PriceInformation'
      initialPrice:
        $ref: '#/definitions/PriceInformation'
      marketId:
        type: string
      modelId:
        type: string
      modelYear:
        type: string
      technicalInformation:
        $ref: '#/definitions/TechnicalInformation'
      vehicleComponents:
        items:
          $ref: '#/definitions/VehicleComponent'
        type: array
      wltpConfiguration:
        type: boolean
    required:
    - marketId
    - modelId
    - configurationId
    - initialPrice
    - configurationPrice
    - modelYear
    - changeYear
    - vehicleComponents
    - technicalInformation
    - wltpConfiguration
    - _links
    type: object
  Amount:
    description: Holds a value and unit.
    properties:
      unit:
        type: string
      value:
        type: number
    required:
    - value
  PriceInformation:
    description: The prices, installment price, taxes and ISO currency of a vehicle.
    properties:
      currency:
        type: string
      instalmentPrice:
        type: number
      netPrice:
        type: number
      price:
        type: number
      taxes:
        items:
          $ref: '#/definitions/Tax'
        type: array
    required:
    - price
    - netPrice
    - currency
    - taxes
    type: object
  WltpEmission:
    description: The Wltp 'Worldwide harmonized Light vehicles Test Procedure' emission.
    properties:
      chargeDeplete:
        $ref: '#/definitions/WltpGear'
      chargeDepleteCop:
        $ref: '#/definitions/WltpGear'
      chargeDepleteWeighted:
        $ref: '#/definitions/WltpGear'
      extraHigh:
        $ref: '#/definitions/WltpGear'
      high:
        $ref: '#/definitions/WltpGear'
      low:
        $ref: '#/definitions/WltpGear'
      lowMid:
        $ref: '#/definitions/WltpGear'
      medium:
        $ref: '#/definitions/WltpGear'
      total:
        $ref: '#/definitions/WltpGear'
      weighted:
        $ref: '#/definitions/WltpGear'
    type: object
  HRef:
    description: The URL to the specific resource.
    properties:
      href:
        type: string
    required:
    - href
    type: object
  SelfLink:
    description: Links to self.
    properties:
      self:
        $ref: '#/definitions/HRef'
    required:
    - self
    type: object
  VehicleComponentCategoryCardinality:
    description: The cardinality of the vehicle components belong to component category.
    enum:
    - NOT_DEFINED
    - ONE_OR_NONE
    - EXACTLY_ONE
    - ARBITRARY
    type: string
  SelfSelectablesImageVehicleLinks:
    description: Links to self and image resources.
    properties:
      imageapi_vehicle:
        $ref: '#/definitions/HRef'
      selectables:
        $ref: '#/definitions/HRef'
      self:
        $ref: '#/definitions/HRef'
    required:
    - self
    - selectables
    - imageapi_vehicle
    type: object
  VehicleComponentCategory:
    description: The component category of a VehicleComponent.
    properties:
      cardinality:
        $ref: '#/definitions/VehicleComponentCategoryCardinality'
      categoryId:
        type: string
      categoryName:
        type: string
      categorySortId:
        type: number
      componentIds:
        items:
          $ref: '#/definitions/VehicleComponentId'
        type: array
      subcategories:
        items:
          $ref: '#/definitions/VehicleComponentCategory'
        type: array
    required:
    - categoryId
    - categorySortId
    - categoryName
    - cardinality
    - subcategories
    - componentIds
  Tax:
    description: The country specific tax information.
    properties:
      amount:
        type: number
      baseAmount:
        type: number
      charge:
        type: number
      id:
        type: string
      rate:
        type: number
    required:
    - id
    - amount
    - baseAmount
    - charge
    - rate
    type: object
  WltpAmount:
    description: The Wltp 'Worldwide harmonized Light vehicles Test Procedure' drive cycle specific amount holds the wltp specific values.
    properties:
      individual:
        $ref: '#/definitions/Amount'
      max:
        $ref: '#/definitions/Amount'
      min:
        $ref: '#/definitions/Amount'
    required:
    - individual
    - min
    - max
    type: object
  VehicleComponentTree:
    description: Contains the vehicle components and the structure with component categories.
    properties:
      _links:
        $ref: '#/definitions/SelfLink'
      componentCategories:
        items:
          $ref: '#/definitions/VehicleComponentCategory'
        type: array
      vehicleComponents:
        additionalProperties:
          $ref: '#/definitions/VehicleComponent'
        properties:
          componentId:
            $ref: '#/definitions/VehicleComponent'
        type: object
    required:
    - vehicleComponents
    - componentCategories
    - _links
  WltpConsumption:
    description: The Wltp 'Worldwide harmonized Light vehicles Test Procedure' consumption.
    properties:
      chargeDeplete:
        $ref: '#/definitions/WltpGear'
      chargeDepleteCop:
        $ref: '#/definitions/WltpGear'
      extraHigh:
        $ref: '#/definitions/WltpGear'
      high:
        $ref: '#/definitions/WltpGear'
      low:
        $ref: '#/definitions/WltpGear'
      medium:
        $ref: '#/definitions/WltpGear'
      total:
        $ref: '#/definitions/WltpGear'
      weighted:
        $ref: '#/definitions/WltpGear'
    type: object
  VehicleComponent:
    description: A vehicle component.
    properties:
      _links:
        $ref: '#/definitions/ImageComponentLink'
      code:
        type: string
      codeType:
        type: string
      componentSortId:
        type: number
      componentType:
        $ref: '#/definitions/VehicleComponentType'
      description:
        description: HTML elements can be present
        type: string
      fixed:
        description: Cannot changed by the customer
        type: boolean
      hidden:
        description: Hidden, should not be displayed to the customer, not relevant for the customer
        type: boolean
      id:
        type: string
      name:
        type: string
      priceInformation:
        $ref: '#/definitions/PriceInformation'
      pseudoCode:
        description: Not relevant for the customer
        type: boolean
      selected:
        description: Selected by the customer
        type: boolean
      standard:
        description: Standard equipment
        type: boolean
    required:
    - id
    - componentSortId
    - name
    - description
    - code
    - codeType
    - componentType
    - priceInformation
    - standard
    - selected
    - fixed
    - hidden
    - pseudoCode
    - _links
    type: object
  Nedc:
    description: Holds all relevant informations for the Nedc 'New European Drive Cycle'.
    properties:
      consumption:
        $ref: '#/definitions/NedcConsumption'
      electricRange:
        $ref: '#/definitions/NedcAmount'
      emission:
        $ref: '#/definitions/NedcEmission'
      weight:
        $ref: '#/definitions/NedcAmount'
  VehicleComponentId:
    description: The component id of a VehicleComponent.
    properties:
      componentId:
        type: string
    required:
    - componentId
  WltpGear:
    description: The gear of a vehicle. A vehicle can have a primary and a secondary gear.
    properties:
      primaryGear:
        $ref: '#/definitions/WltpAmount'
      secondaryGear:
        $ref: '#/definitions/WltpAmount'
    type: object
  NedcGear:
    description: The gear of a vehicle. A vehicle can have a primary and a secondary gear.
    properties:
      primaryGear:
        $ref: '#/definitions/NedcAmount'
      secondaryGear:
        $ref: '#/definitions/NedcAmount'
    type: object
  ImageComponentLink:
    description: Link to VIM image API.
    properties:
      imageapi_component:
        $ref: '#/definitions/HRef'
    required:
    - imageapi_component
    type: object
  NedcConsumption:
    description: The Nedc 'New European Drive Cycle' consumption.
    properties:
      city:
        $ref: '#/definitions/NedcGear'
      combined:
        $ref: '#/definitions/NedcGear'
      country:
        $ref: '#/definitions/NedcGear'
      electric:
        $ref: '#/definitions/NedcAmount'
      weighted:
        $ref: '#/definitions/NedcGear'
    type: object
  VehicleAlternative:
    description: A vehicle alternative.
    properties:
      _links:
        $ref: '#/definitions/SelfSelectablesImageVehicleLinks'
      addedComponents:
        items:
          $ref: '#/definitions/VehicleComponent'
        type: array
      configurationId:
        type: string
      marketId:
        type: string
      modelId:
        type: string
      priceInformation:
        items:
          $ref: '#/definitions/PriceInformation'
        type: object
      removedComponents:
        items:
          $ref: '#/definitions/VehicleComponent'
        type: array
      updatedComponents:
        items:
          $ref: '#/definitions/VehicleComponent'
        type: array
    required:
    - marketId
    - modelId
    - configurationId
    - addedComponents
    - removedComponents
    - updatedComponents
    - priceInformation
    - _links
    type: object
  Transmission:
    description: The transmission of the vehicle configuration.
    properties:
      code:
        type: string
      codeType:
        type: string
      name:
        type: string
    required:
    - code
    - codeType
    - name
  Engine:
    description: All technical information about a specific engine.
    properties:
      alternativeFuelType:
        $ref: '#/definitions/FuelType'
      capacity:
        $ref: '#/definitions/Amount'
      cylinder:
        type: string
      driveConcept:
        $ref: '#/definitions/DriveConcept'
      emissionStandard:
        type: string
      engineConcept:
        $ref: '#/definitions/EngineConcept'
      fuelEconomy:
        $ref: '#/definitions/FuelEconomy'
      fuelType:
        $ref: '#/definitions/FuelType'
      powerHp:
        $ref: '#/definitions/Amount'
      powerHybridExtensionHp:
        $ref: '#/definitions/Amount'
      powerHybridExtensionKw:
        $ref: '#/definitions/Amount'
      powerKw:
        $ref: '#/definitions/Amount'
    required:
    - fuelType
  EngineConcept:
    description: The kind of fuel used by an engine of a vehicle determines the engine type. Where UNDEFINED is used as the default and/or error case.
    enum:
    - MONO_REGULAR
    - MONO_DIESEL
    - MONO_GAS
    - MONO_ELECTRIC
    - MONO_FUELCELL
    - BI_NGT
    - BI_NGD
    - BI_MILD
    - BI_PLUGIN
    - MONO_UNDEFINED
    - BI_UNDEFINED
    - BI_HYBRID_UNDEFINED
    - BI_COMBUSTION_UNDEFINED
    - UNDEFINED
    type: string
parameters:
  marketId:
    default: de_DE
    description: This is a ISO 3166 language country string e.g. 'de_DE' or 'en_GB'.
    in: path
    name: marketId
    pattern: ^[a-z]{2}_[A-Z]{2}$
    required: true
    type: string
  componentList:
    default: +L-197_P-518,-L-040_P-501
    description: A string representing the changes, in other words a list of components that will be added and removed. The following syntax is used for the components to be added and the components to be removed. The added components e.g. '+I-950_L-890' and the removed components e.g. '-I-953_L-696' and the delimiter between the added and removed components is ','. In one components string '+I-950_L-890,-I-953_L-696'.
    in: path
    name: componentList
    required: true
    type: string
  componentTypes:
    description: "A list of component types separated by a comma case insensitive. If nothing is defined all component types are returned. Allowed values are:\n  - WHEELS\n  - PAINTS\n  - UPHOLSTERIES\n  - TRIMS\n  - PACKAGES\n  - LINES\n  - SPECIAL_EDITION\n  - SPECIAL_EQUIPMENT"
    in: query
    items:
      enum:
      - WHEELS
      - PAINTS
      - UPHOLSTERIES
      - TRIMS
      - PACKAGES
      - LINES
      - SPECIAL_EDITION
      - SPECIAL_EQUIPMENT
      type: string
    name: componentTypes
    required: false
    type: array
  modelId:
    default: 222980000
    description: Minimal string that identifies a model e.g. '176042_002'. If no nationalSalesType is available, the modelId only consists of the baumuster e.g. '176042'.
    in: path
    name: modelId
    required: true
    type: string
  fieldsFilter:
    description: Specifies which fields should be included in the result. If this filter is not used, per default all fields are returned.
    in: query
    items:
      type: string
    name: fieldsFilter
    required: false
    type: array
  configurationId:
    default: E-AB5-D09-D14-D53-D71-D80-L06-L19-M69-M70-M88-M94-N63-O16-O92-Q31-Q56-S09-S16_L-040_P-501_S-08U-09U-11R-12U-14U-160-16U-17U-223-231-233-235-23P-249-266-275-276-290-293-297-299-351-360-401-402-413-427-432-436-439-441-443-448-452-453-463-470-471-475-487-503-518-531-538-540-551-581-582-596-61U-628-642-70B-735-808-810-840-871-874-877-881-882-883-889-897-8U0-902-B59-H29-L2B-P07-P09-P17-P21-P34-P35-P47-P54-P64-R66-SZ4-U10-U12-U25
    description: Minimal string that identifies a configuration e.g. 'E-D15-D18-D41-D46-D49-D52-D53-D54-D59-D60-D71-F32-F36-F88-F98-G03-G05-G36-G56-I61-J53-J67-L08-M23-M70-N18-N62-N92-O76-Q29-Q56-Q79-Q92-S01-S05-S08-S63-S92-T05-T07-T62-T84-T88_I-953_L-696_P-001_S-152-160-161-171-258-290-292-294-351-360-411-440-442-470-472-475-485-520-533-538-560-570-573-580-584-58U-591-620-70B-808-888-893-B03-B16-K11-L18-R43-U60'. A codeType is only once within the configurationId e.g 'S-152-160-161' stands for the components with the componentId 'S-152', 'S-160' and 'S-161'. A new codeType is divided from the codes with a underscore e.g 'S-152-160-161_I-953_L-696'.
    in: path
    name: configurationId
    required: true
    type: string
x-default-apikey: Tyt82ndiKG0AdH8TCqe001ROh7RsGOKB