Mercedes-Benz Mercedes me References API

Provide static reference data about cars like markets, bodies, classes, etc.

OpenAPI Specification

mercedes-me-references-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 References 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: Provide static reference data about cars like markets, bodies, classes, etc.
  name: References
paths:
  /markets:
    x-swagger-router-controller: References
    get:
      description: Get all available `Markets`. Optional query params **language** or **country** may be used to filter the result.
      operationId: marketsGET
      parameters:
      - $ref: '#/parameters/languageParam'
      - $ref: '#/parameters/countryParam'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            items:
              $ref: '#/definitions/Market'
            title: Markets
            type: array
        '204':
          description: No content found for requested parameters language and/or country
        '400':
          description: "Invalid parameter was specified:\n * Language parameter is not valid\n * Country parameter is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get All Available Markets
      tags:
      - References
  /markets/{marketId}:
    x-swagger-router-controller: References
    get:
      description: Gets the `Market` for the given **marketId**. There are no query parameters to filter the result.
      operationId: marketGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/Market'
        '400':
          description: MarketId is not valid
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market not found for requested marketId
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Market with the Given marketId
      tags:
      - References
  /markets/{marketId}/bodies:
    x-swagger-router-controller: References
    get:
      description: Get all available `VehicleBodies` for the given **marketId**. Optional query params **classId** **bodyId** or **productGroups** may be used to filter the result and must conform to the pattern [0-9A-Z_-]+.
      operationId: bodiesGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/classIdParam'
      - $ref: '#/parameters/bodyIdParam'
      - $ref: '#/parameters/productGroups'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            items:
              $ref: '#/definitions/VehicleBody'
            title: VehicleBodies
            type: array
        '204':
          description: No content found for requested parameters classId, bodyId and/or productGroups
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ClassId is not valid\n * BodyId is not valid\n * ProductGroups is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get All Available Bodies for the Given marketId
      tags:
      - References
  /markets/{marketId}/bodies/{bodyId}:
    x-swagger-router-controller: References
    get:
      description: Get the `VehicleBody` for the given **marketId** and **bodyId**.
      operationId: bodyGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/bodyId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/VehicleBody'
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * BodyId is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market or VehicleBody not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Body for the Given marketId and bodyId
      tags:
      - References
  /markets/{marketId}/classes:
    x-swagger-router-controller: References
    get:
      description: Get all available `VehicleClasses` objects for the given **marketId**. Optional query params **classId**, **bodyId** or **productGroups** may be used to filter the result and must conform to the pattern [0-9A-Z_-]+.
      operationId: classesGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/classIdParam'
      - $ref: '#/parameters/bodyIdParam'
      - $ref: '#/parameters/productGroups'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            items:
              $ref: '#/definitions/VehicleClass'
            title: VehicleClasses
            type: array
        '204':
          description: No content found for requested parameters classId, bodyId and/or productGroups
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ClassId is not valid\n * BodyId is not valid\n * Product group is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market has not been found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get All Available Classes for the Given marketId
      tags:
      - References
  /markets/{marketId}/classes/{classId}:
    x-swagger-router-controller: References
    get:
      description: Get the `VehicleClass` for the given **marketId** and **classId**.
      operationId: classGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/classId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/VehicleClass'
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ClassId is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market or VehicleClass not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get the Class for the Given marketId and classId
      tags:
      - References
  /markets/{marketId}/models:
    x-swagger-router-controller: References
    get:
      description: Get the available `VehicleModels` for the given **marketId**. Optional query params **classId**, **bodyId**, **baumuster4prefix**, **baumuster**, **nationalSalesType** or **productGroups** maybe used to filter the result. The baumuster4prefix must conform to the pattern [0-9]{4}.
      operationId: modelsGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/classIdParam'
      - $ref: '#/parameters/bodyIdParam'
      - $ref: '#/parameters/baumuster4prefixParam'
      - $ref: '#/parameters/baumusterParam'
      - $ref: '#/parameters/nationalSalesTypeParam'
      - $ref: '#/parameters/productGroups'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            items:
              $ref: '#/definitions/VehicleModel'
            title: VehicleModels
            type: array
        '204':
          description: No content found for requested parameters classId, bodyId, baumuster4prefix, baumuster, nationalSalesType and/or productGroups
        '400':
          description: "Invalid parameter was specified:\n * MarketId is not valid\n * ClassId is not valid\n * BodyId is not valid\n * Product group is not valid\n * baumuster4prefix is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get All Available Models for the Given marketId
      tags:
      - References
  /markets/{marketId}/models/{modelId}:
    x-swagger-router-controller: References
    get:
      description: Get the `VehicleModel` object for the given **marketId** and **modelId**.
      operationId: modelGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/modelId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/VehicleModel'
        '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 Model for the Given marketId and modelId
      tags:
      - References
  /markets/{marketId}/productgroups:
    x-swagger-router-controller: References
    get:
      description: Get all configured active product groups for the given **marketId**.
      operationId: productGroupsGET
      parameters:
      - $ref: '#/parameters/marketId'
      - $ref: '#/parameters/fieldsFilter'
      responses:
        '200':
          description: Successful response
          schema:
            $ref: '#/definitions/ProductGroupsPerMarket'
        '400':
          description: MarketId is not valid
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '404':
          description: Market not found
        '429':
          description: Quota limit is exceeded
        '500':
          description: An Error occurred on the server side
      summary: Get All Configured Active Product Groups for the Given marketId
      tags:
      - References
  /countries:
    x-swagger-router-controller: get_countries
    get:
      description: This request returns the countries supported by the Dealer API
      operationId: countriesGET
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/pageSize'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/HalifiedCountries'
        '400':
          description: "Invalid parameter was specified:\n * Page is not valid\n * Page size is not valid"
        '401':
          description: "Unauthorized:\n  * Failed to resolve API Key query parameter\n  * Invalid API Key"
        '429':
          description: Quota limit is exceeded
        '500':
          description: Internal server error
      tags:
      - References
definitions:
  ProductGroup:
    description: Represent a product group.
    enum:
    - PKW
    - VAN
    - SMART
    properties:
      name:
        type: string
    required:
    - name
    type: object
  SelfReferencesLinks:
    description: Market specific links to the specific resources. i.e. classes, bodies, etc.
    properties:
      bodies:
        $ref: '#/definitions/HRef'
      classes:
        $ref: '#/definitions/HRef'
      models:
        $ref: '#/definitions/HRef'
      productgroups:
        $ref: '#/definitions/HRef'
      self:
        $ref: '#/definitions/HRef'
    required:
    - self
    - classes
    - bodies
    - models
    - productgroups
    type: object
  SelfModelLinks:
    description: Links to self and models resources.
    properties:
      models:
        $ref: '#/definitions/HRef'
      self:
        $ref: '#/definitions/HRef'
    required:
    - self
    - models
    type: object
  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
  HRef:
    description: The URL to the specific resource.
    properties:
      href:
        type: string
    required:
    - href
    type: object
  Country:
    properties:
      countryId:
        description: the country id
        type: string
      isoCode:
        description: the country iso code
        type: string
      name:
        description: the country name
        type: string
    required:
    - countryId
    - isoCode
    - name
    type: object
  VehicleModel:
    description: The model of a Vehicle, e.g. '176042_002'.
    properties:
      _links:
        $ref: '#/definitions/SelfConfigurationLinks'
      baumuster:
        type: string
      modelId:
        type: string
      name:
        type: string
      nationalSalesType:
        type: string
      priceInformation:
        $ref: '#/definitions/PriceInformation'
      productGroup:
        $ref: '#/definitions/ProductGroup'
      shortName:
        type: string
      vehicleBody:
        $ref: '#/definitions/VehicleBody'
      vehicleClass:
        $ref: '#/definitions/VehicleClass'
    required:
    - modelId
    - shortName
    - name
    - baumuster
    - nationalSalesType
    - vehicleClass
    - vehicleBody
    - productGroup
    - priceInformation
    - _links
    type: object
  HalifiedCountries:
    description: countries and navigation links for additional results.
    properties:
      _links:
        $ref: '#/definitions/DefaultLinks'
      countries:
        description: countries
        items:
          $ref: '#/definitions/Country'
        type: array
    required:
    - _links
    type: object
  DefaultLinks:
    description: default links
    properties:
      next:
        $ref: '#/definitions/Link'
      previous:
        $ref: '#/definitions/Link'
      self:
        $ref: '#/definitions/Link'
    type: object
  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
  Market:
    description: Represent a market (aka country) with a specific country and a language.
    properties:
      _links:
        $ref: '#/definitions/SelfReferencesLinks'
      country:
        type: string
      language:
        type: string
      marketId:
        type: string
    required:
    - marketId
    - country
    - language
    - _links
    type: object
  VehicleBody:
    description: The body of a Vehicle, e.g. 'Limousine'.
    properties:
      _links:
        $ref: '#/definitions/SelfModelLinks'
      bodyId:
        type: string
      bodyName:
        type: string
    required:
    - bodyId
    - bodyName
    - _links
    type: object
  SelfConfigurationLinks:
    description: Links to self and configuration resources.
    properties:
      configuration:
        $ref: '#/definitions/HRef'
      self:
        $ref: '#/definitions/HRef'
    required:
    - self
    - configuration
    type: object
  VehicleClass:
    description: The class of a Vehicle, e.g. 'A-Class'.
    properties:
      _links:
        $ref: '#/definitions/SelfModelLinks'
      classId:
        type: string
      className:
        type: string
    required:
    - classId
    - className
    - _links
    type: object
  ProductGroupsPerMarket:
    description: Represent the active product groups for a market.
    properties:
      _links:
        $ref: '#/definitions/SelfModelLinks'
      market:
        $ref: '#/definitions/Market'
      productGroups:
        items:
          $ref: '#/definitions/ProductGroup'
        type: array
    required:
    - market
    - productGroups
    - _links
    type: object
  Link:
    description: the representation of a link
    properties:
      href:
        description: the target of the link
        type: string
    required:
    - href
    type: object
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
  classId:
    default: '222'
    description: This is a class id e.g. '176' for 'A-Klasse' in Germany.
    in: path
    name: classId
    required: true
    type: string
  bodyId:
    default: '2'
    description: This is a body id e.g. '1' for 'Limousine' in Germany.
    in: path
    name: bodyId
    required: true
    type: string
  nationalSalesTypeParam:
    description: This is the national sales type (NST) of a distinct baumuster. There is no predefined pattern for the NST, each market defines its NST. e.g. 'E07' in France, 0001 in Germany and ZA1 in South Africa Using the NST markets can define market specific conditions. e.g. different initial configuration, etc.
    in: query
    name: nationalSalesType
    required: false
    type: string
  productGroups:
    description: "Specifies to which product groups the vehicles belong which should be returned. The product groups are separated from each other by a comma and are case sensitive. Allowed values are:\n  * PKW\n  * VAN\n  * SMART"
    in: query
    items:
      enum:
      - PKW
      - VAN
      - SMART
      type: string
    name: productGroups
    required: false
    type: array
  baumusterParam:
    description: This is a baumuster e.g. '176042' for 'A 180 Limousine' in Germany.
    in: query
    name: baumuster
    required: false
    type: string
  pageSize:
    description: 'The index of the page to be returned. If this parameter is omitted, the first page will be returned.

      '
    format: int32
    in: query
    name: pageSize
    required: false
    type: integer
  baumuster4prefixParam:
    description: The first four digits of a baumuster are called baumuster4prefix e.g. '1760' for 'Berline' in France.
    in: query
    name: baumuster4prefix
    required: false
    type: string
  classIdParam:
    default: '222'
    description: This is a class id e.g. '176' for 'A-Class' in Germany.
    in: query
    name: classId
    required: false
    type: string
  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
  page:
    description: 'The index of the page to be returned. If this parameter is omitted, the first page will be returned.

      '
    format: int32
    in: query
    name: page
    required: false
    type: integer
  languageParam:
    default: de
    description: This is a ISO language string e.g. 'de' and is spoken in Austria 'AT', Germany 'DE' and Swiss 'CH'.
    in: query
    name: language
    required: false
    type: string
  bodyIdParam:
    default: '2'
    description: This is a body id e.g. '1' for 'Limousine' in Germany.
    in: query
    name: bodyId
    required: false
    type: string
  countryParam:
    description: This is a ISO country string e.g. Germany 'DE' or Swiss 'CH'.
    in: query
    name: country
    required: false
    type: string
x-default-apikey: Tyt82ndiKG0AdH8TCqe001ROh7RsGOKB