openapi: 3.0.0
info:
  title: Vehicle
  version: 1.0.0
servers:
  - url: https://api.autopass.pro
    description: Live server
    x-environment: live
  - url: https://api-prelive.autopass.pro
    description: Prelive server
    x-environment: prelive
paths:
  /vehicles/{id}:
    get:
      description: Get a vehicle by its ID.
      summary: Get a vehicle
      operationId: get-vehicle
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Overrides Account ID
          example: 2
          in: query
          name: account_id
          schema:
            type: integer
        - description: Overrides Account type name
          example: garagiste
          in: query
          name: account_type
          schema:
            type: string
        - description: Overrides vehicle registration country
          example: FR
          in: query
          name: reg_country
          schema:
            type: string
        - description: Forces provider to rely on. If set, will automatically trigger a vehicle refresh
          example: AAA
          in: query
          name: provider
          schema:
            type: string
        - description: Forces (account) entity to rely on
          example: "0007"
          in: query
          name: entity
          schema:
            type: string
        - description: Forces vehicle data refresh
          example: true
          in: query
          name: refresh
          schema:
            type: boolean
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleObject"
        206:
          description: Partial Content
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleObject"
        400:
          description: Invalid ID parameter
        404:
          description: Vehicle not found
        500:
          description: server error
      tags:
        - vehicles
    patch:
      description: Patch a vehicle by its ID.
      summary: Patch a vehicle
      operationId: patch-vehicle
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VehicleAttributes"
        description: Vehicle attributes to patch
        required: true
      responses:
        200:
          description: OK
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/application-exclusions:
    get:
      description: List vehicle's application exclusions.
      summary: List application exclusions
      operationId: list-vehicle-application-exclusions
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Application ID
          example: 100
          in: query
          name: application_id
          schema:
            type: integer
        - description: Results limit
          example: 10
          in: query
          name: limit
          schema:
            type: integer
            default: 100
        - description: Results offset
          example: 200
          in: query
          name: offset
          schema:
            type: integer
            default: 0
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleApplicationExclusionCollection"
        400:
          description: Invalid parameters
      tags:
        - vehicles
    patch:
      description: Patch vehicle's application exclusions.
      summary: Patch application exclusions
      operationId: patch-vehicle-application-exclusions
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/VehicleExclusionArray"
      responses:
        200:
          description: OK
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/family-exclusions:
    get:
      description: List vehicle's family exclusions.
      summary: List family exclusions
      operationId: list-vehicle-family-exclusions
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Application ID
          example: 100
          in: query
          name: application_id
          schema:
            type: integer
        - description: Family ID
          example: 100
          in: query
          name: family_id
          schema:
            type: integer
        - description: Results limit
          example: 10
          in: query
          name: limit
          schema:
            type: integer
            default: 100
        - description: Results offset
          example: 200
          in: query
          name: offset
          schema:
            type: integer
            default: 0
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleFamilyExclusionCollection"
        400:
          description: Invalid parameters
      tags:
        - vehicles
    patch:
      description: Patch vehicle's family exclusions.
      summary: Patch family exclusions
      operationId: patch-vehicle-family-exclusions
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/VehicleExclusionArray"
      responses:
        200:
          description: OK
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/parts-oe:
    get:
      description: List vehicle's parts OE.
      summary: List parts OE
      operationId: list-vehicle-parts-oe
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Provider ID to filter on
          example: 100
          in: query
          name: provider_id
          schema:
            type: integer
        - description: Family ID to filter on
          example: 100
          in: query
          name: family_id
          schema:
            type: integer
        - description: Provider to force for manufacturer call
          example: DAT
          in: query
          name: provider
          schema:
            type: string
        - description: Flag to force for manufacturer call
          example: true
          in: query
          name: refresh
          schema:
            type: boolean
        - description: Results limit
          example: 10
          in: query
          name: limit
          schema:
            type: integer
            default: 100
        - description: Results offset
          example: 200
          in: query
          name: offset
          schema:
            type: integer
            default: 0
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehiclePartOECollection"
        400:
          description: Invalid parameters
      tags:
        - vehicles
    patch:
      description: Patch vehicle's parts OE.
      summary: Patch parts OE
      operationId: patch-vehicle-parts-oe
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/Refoe"
              type: array
        description: Vehicle part OE to patch
        required: true
      responses:
        200:
          description: OK
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/plates:
    get:
      description: List vehicle's plates.
      summary: List plates
      operationId: list-vehicle-plates
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehiclePlateCollection"
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
    post:
      description: Create vehicle plate.
      summary: Create a plate
      operationId: create-vehicle-plate
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                code:
                  description: Vehicle registration plate
                  example: AB123CD
                  type: string
                country_code:
                  description: Vehicle registration country
                  example: FR
                  type: string
                provider_id:
                  description: Provider ID
                  example: 1
                  type: integer
              required:
                - code
                - country_code
                - provider_id
        required: true
      responses:
        201:
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehiclePlateObject"
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/plates/{plate_id}:
    delete:
      description: Delete a vehicle's plate by its ID.
      summary: Delete a plate
      operationId: delete-vehicle-plate
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Vehicle plate ID
          example: 150
          in: path
          name: plate_id
          required: true
          schema:
            type: integer
      responses:
        204:
          description: No Content
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/refresh:
    get:
      description: Refresh a vehicle's data by its ID in a given context.
      summary: Refresh vehicle
      operationId: refresh-vehicle
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
        - description: Overrides Account ID
          example: 2
          in: query
          name: account_id
          schema:
            type: integer
        - description: Overrides Account type name
          example: garagiste
          in: query
          name: account_type
          schema:
            type: string
        - description: Overrides vehicle registration country
          example: FR
          in: query
          name: reg_country
          schema:
            type: string
        - description: Forces provider to rely on
          example: AAA
          in: query
          name: provider
          schema:
            type: string
        - description: Forces (account) entity to rely on
          example: "0007"
          in: query
          name: entity
          schema:
            type: string
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleObject"
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/{id}/sources:
    get:
      description: List vehicle's sources.
      summary: List sources
      operationId: list-vehicle-sources
      parameters:
        - description: Vehicle ID
          example: 1
          in: path
          name: id
          required: true
          schema:
            type: integer
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehicleSourceCollection"
        400:
          description: Invalid ID parameter
        500:
          description: server error
      tags:
        - vehicles
  /vehicles/search:
    get:
      description: Search for vehicles.
      summary: Search vehicles
      operationId: search-vehicles
      parameters:
        - description: Vehicle Identification Number
          example: VF123456789098765
          in: query
          name: vin
          schema:
            type: string
        - description: Flag given VIN as old one
          in: query
          name: old_vin
          schema:
            type: boolean
            default: false
        - description: Vehicle registration plate
          example: AB123CD
          in: query
          name: reg_plate
          schema:
            type: string
        - description: Vehicle registration country
          example: FR
          in: query
          name: reg_country
          schema:
            type: string
        - description: Ktypnr
          example: 30824
          in: query
          name: ktypnr
          schema:
            type: integer
        - description: Results limit
          example: 10
          in: query
          name: limit
          schema:
            type: integer
            default: 100
        - description: Results offset
          example: 200
          in: query
          name: offset
          schema:
            type: integer
            default: 0
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VehiclePreviewCollection"
        400:
          description: Invalid parameters
      tags:
        - vehicles
  /vindecoder-api/vin2ktyp:
    get:
      description: Decode a list of KTypnrs from a VIN and various parameters.
      summary: VIN decoder
      operationId: vin-decoder
      parameters:
        - description: Vehicle Identification Number
          in: query
          name: vin
          schema:
            type: string
        - description: Vehicle first registration date
          in: query
          name: date_pme
          schema:
            type: string
        - description: Power Kw
          in: query
          name: kw
          schema:
            type: integer
        - description: Engine capacity
          in: query
          name: ect
          schema:
            type: integer
        - description: Height
          in: query
          name: height
          schema:
            type: integer
        - description: Body
          in: query
          name: body
          schema:
            type: string
        - description: Gearbox
          in: query
          name: gearbox
          schema:
            type: string
        - description: Energy
          in: query
          name: energy
          schema:
            type: string
        - description: Wheel drive
          in: query
          name: wheel_drive
          schema:
            type: string
        - description: Weight Max
          in: query
          name: weight_max
          schema:
            type: integer
        - description: Weight
          in: query
          name: weight
          schema:
            type: integer
        - description: Cylinders
          in: query
          name: cylinders
          schema:
            type: integer
        - description: Doors
          in: query
          name: doors
          schema:
            type: integer
        - description: Seats
          in: query
          name: seats
          schema:
            type: integer
        - description: Length
          in: query
          name: length
          schema:
            type: integer
        - description: Width
          in: query
          name: width
          schema:
            type: integer
        - description: Cumulative threshold
          in: query
          name: _ct
          schema:
            type: number
        - description: Unique ktyp threshold
          in: query
          name: _ukt
          schema:
            type: number
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Vin2KtypExtendedResponse"
        400:
          description: Invalid parameters
      tags:
        - vindecoder
  /vindecoder-api/filter/ktypnrs:
    get:
      summary: Filter ktypnrs
      description: Filters ktypnrs for a given ktypnr list and attributes.
      operationId: filter-ktypnrs
      parameters:
        - description: Ktypnrs (comma-separated) to filter.
          in: query
          name: ktypnrs
          schema:
            type: string
            nullable: true
        - description: Vehicle first registration date.
          in: query
          name: date_pme
          schema:
            type: string
            nullable: true
        - description: Vehicle power Kw.
          in: query
          name: kw
          schema:
            type: integer
            nullable: true
        - description: Vehicle engine capacity.
          in: query
          name: ect
          schema:
            type: integer
            nullable: true
        - description: Vehicle height.
          in: query
          name: height
          schema:
            type: integer
            nullable: true
        - description: Vehicle body.
          in: query
          name: body
          schema:
            type: string
            nullable: true
        - description: Vehicle gearbox.
          in: query
          name: gearbox
          schema:
            type: string
            nullable: true
        - description: Vehicle energy.
          in: query
          name: energy
          schema:
            type: string
            nullable: true
        - description: Vehicle wheel drive.
          in: query
          name: wheel_drive
          schema:
            type: string
            nullable: true
        - description: Vehicle weight max.
          in: query
          name: weight_max
          schema:
            type: integer
            nullable: true
        - description: Vehicle weight.
          in: query
          name: weight
          schema:
            type: integer
            nullable: true
        - description: Vehicle cylinders number.
          in: query
          name: cylinders
          schema:
            type: integer
            nullable: true
        - description: Vehicle doors number.
          in: query
          name: doors
          schema:
            type: integer
            nullable: true
        - description: Vehicle seats number.
          in: query
          name: seats
          schema:
            type: integer
            nullable: true
        - description: Vehicle length.
          in: query
          name: length
          schema:
            type: integer
            nullable: true
        - description: Vehicle width.
          in: query
          name: width
          schema:
            type: integer
            nullable: true
        - description: Vehicle engine code.
          in: query
          name: engine_code
          schema:
            type: string
            nullable: true
        - description: To set a strict filtering. FALSE by default.
          in: query
          name: strict
          schema:
            type: string
            nullable: true
        - description: To set for a detailed report after filtering. FALSE by default.
          in: query
          name: report
          schema:
            type: string
            nullable: true
      responses:
        200:
          description: OK.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/KtypnrFilterResponse"
                  - $ref: "#/components/schemas/KtypnrFilterReportResponse"
        400:
          description: Bad request.
      tags:
        - vindecoder
    post:
      summary: Filters ktypnrs
      description: Filters ktypnrs for a given ktypnr list and attributes.
      operationId: also-filter-ktypnrs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              - description: Ktypnrs (comma-separated) to filter.
                name: ktypnrs
                schema:
                  type: string
                  nullable: true
              - description: Vehicle first registration date.
                name: date_pme
                schema:
                  type: string
                  nullable: true
              - description: Vehicle power Kw.
                name: kw
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle engine capacity.
                name: ect
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle height.
                name: height
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle body.
                name: body
                schema:
                  type: string
                  nullable: true
              - description: Vehicle gearbox.
                name: gearbox
                schema:
                  type: string
                  nullable: true
              - description: Vehicle energy.
                name: energy
                schema:
                  type: string
                  nullable: true
              - description: Vehicle wheel drive.
                name: wheel_drive
                schema:
                  type: string
                  nullable: true
              - description: Vehicle weight max.
                name: weight_max
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle weight.
                name: weight
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle cylinders number.
                name: cylinders
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle doors number.
                name: doors
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle seats number.
                name: seats
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle length.
                name: length
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle width.
                name: width
                schema:
                  type: integer
                  nullable: true
              - description: Vehicle engine code.
                name: engine_code
                schema:
                  type: string
                  nullable: true
      responses:
        200:
          description: OK.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: "#/components/schemas/KtypnrFilterResponse"
                  - $ref: "#/components/schemas/KtypnrFilterReportResponse"
        400:
          description: Bad request.
      tags:
        - vindecoder
security:
  - ApiKeyAuth: []
  - ApiKeyHeader: []
  - ApiKeyQuery: []
  - BearerAuth: []
components:
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: access_token
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Access-Token
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  requestBodies:
    VehicleExclusionArray:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/VehicleExclusion"
            type: array
      description: Vehicle exclusion to patch
      required: true
  schemas:
    KtypnrFilterReportResponse:
      properties:
        ktypnrs:
          items:
            type: integer
          type: array
        filters_applied:
          type: string
        filters_failed:
          type: string
        filters_ignored:
          type: string
      type: object
    KtypnrFilterResponse:
      items:
        type: integer
      type: array
    PartAMTechnicalInformation:
      properties:
        label:
          type: string
        value:
          type: string
      type: object
    Vin2KtypExtendedResponse:
      properties:
        ktypnrs:
          items:
            type: integer
          type: array
        merge_scoring:
          additionalProperties:
            $ref: "#/components/schemas/Vin2KtypScoring"
          type: object
        prediction_scoring:
          additionalProperties:
            $ref: "#/components/schemas/Vin2KtypScoring"
          type: object
      type: object
    Vin2KtypScoring:
      additionalProperties:
        type: number
      type: object
    Meta:
      properties:
        limit:
          type: integer
        offset:
          type: integer
        total:
          type: integer
      type: object
    VehicleModelObject:
      properties:
        date_model_from:
          example: "2015-08-01T00:00:00Z"
          type: string
        date_model_to:
          example: "null"
          type: string
          nullable: true
        date_version_from:
          example: "2017-10-01T00:00:00Z"
          type: string
        date_version_to:
          example: "null"
          type: string
          nullable: true
        engine_code:
          example: DECA
          type: string
        ktypnr:
          example: 128816
          type: integer
        manufacturer:
          example: AUDI
          type: string
        model:
          example: A4 B9 Avant (8W5, 8WD)
          type: string
        start_and_stop:
          enum:
            - "Y"
            - "N"
            - "?"
          example: "Y"
          type: string
        version:
          example: RS4 quattro
          type: string
      type: object
    VehicleObject:
      properties:
        adblue:
          type: string
          nullable: true
        apv_type:
          type: string
          nullable: true
        body:
          type: string
          nullable: true
        body_brand:
          type: string
          nullable: true
        body_cg:
          type: string
          nullable: true
        category:
          type: string
          nullable: true
        category_cg:
          type: string
          nullable: true
        category_code:
          type: string
          nullable: true
        cnit:
          type: string
          nullable: true
        co2:
          type: string
          nullable: true
        co2_cg:
          type: string
          nullable: true
        color:
          type: string
          nullable: true
        color_code:
          type: string
          nullable: true
        color_label:
          type: string
          nullable: true
        cons_city:
          type: string
          nullable: true
        cons_comb:
          type: string
          nullable: true
        cons_high:
          type: string
          nullable: true
        created_at:
          type: string
          nullable: true
        crit_air:
          type: string
          nullable: true
        dam_index:
          type: string
          nullable: true
        depollution:
          type: string
          nullable: true
        energy:
          type: string
          nullable: true
        engine_capacity:
          type: string
          nullable: true
        engine_code:
          type: string
          nullable: true
        engine_index:
          type: string
          nullable: true
        engine_name:
          type: string
          nullable: true
        engine_type:
          type: string
          nullable: true
        euro_norm:
          type: string
          nullable: true
        fap:
          type: string
          nullable: true
        fiscal_power:
          type: string
          nullable: true
        gearbox:
          type: string
          nullable: true
        gearbox_code:
          type: string
          nullable: true
        gearbox_type:
          type: string
          nullable: true
        height:
          type: string
          nullable: true
        horse_power:
          type: string
          nullable: true
        injection:
          type: string
          nullable: true
        kbas:
          type: string
          nullable: true
        ktypnr:
          type: integer
        ktypnrs:
          type: string
          nullable: true
        kw_power:
          type: string
          nullable: true
        length:
          type: string
          nullable: true
        links:
          $ref: "#/components/schemas/VehicleLinks"
        manufacturer:
          type: string
          nullable: true
        model:
          type: string
          nullable: true
        model_cg:
          type: string
          nullable: true
        model_full:
          type: string
          nullable: true
        model_generation:
          type: string
          nullable: true
        model_phase:
          type: string
          nullable: true
        mot_date:
          type: string
          nullable: true
        mouv_cg:
          type: string
          nullable: true
        natcodes:
          type: string
          nullable: true
        nb_cylinders:
          type: string
          nullable: true
        nb_doors:
          type: string
          nullable: true
        nb_seats:
          type: string
          nullable: true
        nb_speeds:
          type: string
          nullable: true
        nb_valves:
          type: string
          nullable: true
        nb_volumes:
          type: string
          nullable: true
        noise_level:
          type: string
          nullable: true
        price:
          type: string
          nullable: true
        reg_country:
          type: string
          nullable: true
        reg_date:
          type: string
          nullable: true
        reg_date1:
          type: string
          nullable: true
        reg_plate:
          type: string
          nullable: true
        sources:
          items:
            $ref: "#/components/schemas/SourceVehicleData"
          type: array
        tire_diameter:
          type: string
          nullable: true
        tire_height:
          type: string
          nullable: true
        tire_speed_index:
          type: string
          nullable: true
        tire_width:
          type: string
          nullable: true
        turbo:
          type: string
          nullable: true
        tvv:
          type: string
          nullable: true
        type_version:
          type: string
          nullable: true
        type_vin:
          type: string
          nullable: true
        tyres:
          type: string
          nullable: true
        updated_at:
          type: string
          nullable: true
        vehicle_id:
          type: integer
        version:
          type: string
          nullable: true
        vin:
          type: string
          nullable: true
        vol:
          type: string
          nullable: true
        weight:
          type: string
          nullable: true
        weight_empty:
          type: string
          nullable: true
        weight_gross:
          type: string
          nullable: true
        weight_towing:
          type: string
          nullable: true
        wheel_base:
          type: string
          nullable: true
        wheel_drive:
          type: string
          nullable: true
        width:
          type: string
          nullable: true
      type: object
    CarManufacturerCollection:
      properties:
        cars_manufacturers:
          items:
            $ref: "#/components/schemas/CarManufacturerObject"
          type: array
        meta:
          $ref: "#/components/schemas/Meta"
      type: object
    CarManufacturerLinks:
      properties:
        parts:
          example: https://api.autopass.pro/cars-manufacturers/2/parts
          type: string
        self:
          example: https://api.autopass.pro/cars-manufacturers/2
          type: string
      type: object
    CarManufacturerObject:
      properties:
        car_manufacturer_id:
          example: 2
          type: integer
        links:
          $ref: "#/components/schemas/CarManufacturerLinks"
        name:
          example: B.M.W.
          type: string
      type: object
    CrossAMCollection:
      properties:
        crosses:
          items:
            $ref: "#/components/schemas/CrossAMObject"
          type: array
        meta:
          $ref: "#/components/schemas/Meta"
      type: object
    CrossAMObject:
      properties:
        part_am:
          $ref: "#/components/schemas/PartAMPreviewObject"
        provider:
          $ref: "#/components/schemas/ProviderObject"
        status:
          enum:
            - A
            - S
            - U
          example: A
          type: string
        tecdoc_valid:
          example: true
          type: boolean
      type: object
    CrossOECollection:
      properties:
        crosses:
          items:
            $ref: "#/components/schemas/CrossOEObject"
          type: array
        meta:
          $ref: "#/components/schemas/Meta"
      type: object
    CrossOEObject:
      properties:
        part_oe:
          $ref: "#/components/schemas/PartOEPreviewObject"
        provider:
          $ref: "#/components/schemas/ProviderObject"
        status:
          enum:
            - A
            - S
            - U
          example: A
          type: string
        tecdoc_valid:
          example: true
          type: boolean
      type: object
    GenartObject:
      properties:
        description:
          example: Auxiliary Water Pump (cooling water circuit)
          type: string
        genartnr:
          example: 1351
          type: integer
      type: object
    PartAMCollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        parts_am:
          items:
            $ref: "#/components/schemas/PartAMPreviewObject"
          type: array
      type: object
    PartAMLinks:
      properties:
        oe_crosses:
          example: https://api.autopass.pro/parts-am/14050109/parts-oe-crosses
          type: string
        parts_manufacturer:
          example: https://api.autopass.pro/parts-manufacturers/303
          type: string
        self:
          example: https://api.autopass.pro/parts-am/14050109
          type: string
        technical_information:
          example: https://api.autopass.pro/parts-am/14050109/technical-information
          type: string
        vehicles:
          example: https://api.autopass.pro/parts-am/14050109/vehicles
          type: string
      type: object
    PartAMMediaObject:
      properties:
        href:
          example: https://api.autopass.pro/medias/tecdoc/00005/7.06033.62.0z_det1.JPG
          type: string
        order:
          example: 1
          type: integer
      type: object
    PartAMObject:
      properties:
        aliases:
          example:
            - ""
          items:
            type: string
          type: array
        code:
          example: "706031150"
          type: string
        code_raw:
          example: 7.06031.15.0
          type: string
        countries:
          example:
            - ""
          items:
            type: string
          type: array
        description:
          example: ""
          type: string
        ean:
          example: "6955813018152"
          type: string
        genarts:
          items:
            $ref: "#/components/schemas/GenartObject"
          type: array
        kit:
          example: false
          type: boolean
        label:
          example: PIERBURG 7.06031.15.0
          type: string
        links:
          $ref: "#/components/schemas/PartAMLinks"
        medias:
          items:
            $ref: "#/components/schemas/PartAMMediaObject"
          type: array
        part_am_id:
          example: 15002947
          type: integer
        part_manufacturer:
          $ref: "#/components/schemas/PartManufacturerObject"
        provider:
          $ref: "#/components/schemas/ProviderObject"
        status:
          example: A
          type: string
      type: object
    PartAMPreviewObject:
      properties:
        code:
          example: "706031150"
          type: string
        code_raw:
          example: 7.06031.15.0
          type: string
        description:
          example: ""
          type: string
        ean:
          example: "6955813018152"
          type: string
        kit:
          example: false
          type: boolean
        label:
          example: PIERBURG 7.06031.15.0
          type: string
        links:
          $ref: "#/components/schemas/PartAMLinks"
        part_am_id:
          example: 15002947
          type: integer
        part_manufacturer:
          $ref: "#/components/schemas/PartManufacturerObject"
        provider:
          $ref: "#/components/schemas/ProviderObject"
        status:
          example: A
          type: string
      type: object
    PartManufacturerCollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        parts_manufacturers:
          items:
            $ref: "#/components/schemas/PartManufacturerObject"
          type: array
      type: object
    PartManufacturerLinks:
      properties:
        parts:
          example: https://api.autopass.pro/parts-manufacturers/67/parts
          type: string
        self:
          example: https://api.autopass.pro/parts-manufacturers/67
          type: string
      type: object
    PartManufacturerObject:
      properties:
        links:
          $ref: "#/components/schemas/PartManufacturerLinks"
        name:
          example: PIERBURG
          type: string
        part_manufacturer_id:
          example: 303
          type: integer
      type: object
    PartOECollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        parts_oe:
          items:
            $ref: "#/components/schemas/PartOEPreviewObject"
          type: array
      type: object
    PartOELinks:
      properties:
        am_crosses:
          example: https://api.autopass.pro/parts-oe/58005960/parts-am-crosses
          type: string
        car_manufacturer:
          example: https://api.autopass.pro/cars-manufacturers/44
          type: string
        self:
          example: https://api.autopass.pro/parts-oe/58005960
          type: string
      type: object
    PartOEObject:
      properties:
        car_manufacturer:
          $ref: "#/components/schemas/CarManufacturerObject"
        code:
          example: 1109AY
          type: string
        code_raw:
          example: 1109 AY
          type: string
        description:
          example: FILTRE A HUILE
          type: string
        genarts:
          items:
            $ref: "#/components/schemas/GenartObject"
          type: array
        label:
          example: RENAULT 1109 AY
          type: string
        links:
          $ref: "#/components/schemas/PartOELinks"
        part_oe_id:
          example: 58005960
          type: integer
        provider:
          $ref: "#/components/schemas/ProviderObject"
      type: object
    PartOEPreviewObject:
      properties:
        car_manufacturer:
          $ref: "#/components/schemas/CarManufacturerObject"
        code:
          example: 1109AY
          type: string
        code_raw:
          example: 1109 AY
          type: string
        description:
          example: FILTRE A HUILE
          type: string
        label:
          example: RENAULT 1109 AY
          type: string
        links:
          $ref: "#/components/schemas/PartOELinks"
        part_oe_id:
          example: 58005960
          type: integer
        provider:
          $ref: "#/components/schemas/ProviderObject"
      type: object
    ProviderObject:
      properties:
        description:
          example: TECDOC
          type: string
        name:
          example: TE
          type: string
        provider_id:
          example: 1
          type: integer
      type: object
    VehicleApplicationExclusionCollection:
      properties:
        application_exclusions:
          items:
            $ref: "#/components/schemas/VehicleExclusionObject"
          type: array
        meta:
          $ref: "#/components/schemas/Meta"
      type: object
    VehicleAttributes:
      properties:
        adblue:
          type: string
        apv_type:
          type: string
        body:
          type: string
        body_brand:
          type: string
        body_cg:
          type: string
        category:
          type: string
        category_cg:
          type: string
        category_code:
          type: string
        cnit:
          type: string
        co2:
          type: string
        co2_cg:
          type: string
        color:
          type: string
        color_code:
          type: string
        color_label:
          type: string
        cons_city:
          type: string
        cons_comb:
          type: string
        cons_high:
          type: string
        crit_air:
          type: string
        dam_index:
          type: string
        depollution:
          type: string
        energy:
          type: string
        engine_capacity:
          type: string
        engine_code:
          type: string
        engine_index:
          type: string
        engine_name:
          type: string
        engine_type:
          type: string
        euro_norm:
          type: string
        fap:
          type: string
        fiscal_power:
          type: string
        gearbox:
          type: string
        gearbox_code:
          type: string
        gearbox_type:
          type: string
        height:
          type: string
        horse_power:
          type: string
        injection:
          type: string
        kbas:
          type: string
        ktypnrs:
          type: string
        kw_power:
          type: string
        length:
          type: string
        manufacturer:
          type: string
        model:
          type: string
        model_cg:
          type: string
        model_full:
          type: string
        model_generation:
          type: string
        model_phase:
          type: string
        mot_date:
          type: string
        mouv_cg:
          type: string
        natcodes:
          type: string
        nb_cylinders:
          type: string
        nb_doors:
          type: string
        nb_seats:
          type: string
        nb_speeds:
          type: string
        nb_valves:
          type: string
        nb_volumes:
          type: string
        noise_level:
          type: string
        price:
          type: string
        reg_date:
          type: string
        reg_date1:
          type: string
        tire_diameter:
          type: string
        tire_height:
          type: string
        tire_speed_index:
          type: string
        tire_width:
          type: string
        turbo:
          type: string
        tvv:
          type: string
        type_version:
          type: string
        type_vin:
          type: string
        tyres:
          type: string
        version:
          type: string
        vol:
          type: string
        weight:
          type: string
        weight_empty:
          type: string
        weight_gross:
          type: string
        weight_towing:
          type: string
        wheel_base:
          type: string
        wheel_drive:
          type: string
        width:
          type: string
      type: object
    VehicleModelCollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        vehicles:
          items:
            $ref: "#/components/schemas/VehicleModelObject"
          type: array
      type: object
    VehicleExclusion:
      properties:
        application_id:
          type: integer
        blocked:
          type: boolean
        created_at:
          type: string
        delete:
          type: boolean
        family_id:
          type: integer
        family_name:
          type: string
        position_name:
          type: string
        reason:
          type: string
        updated_at:
          type: string
        vehicle_id:
          type: integer
      type: object
    VehicleExclusionLinks:
      properties:
        application_exclusions:
          example: https://api.autopass.pro/vehicles/1/application-exclusions
          type: string
        family_exclusions:
          example: https://api.autopass.pro/vehicles/1/family-exclusions
          type: string
      type: object
    VehicleExclusionObject:
      properties:
        application_id:
          type: integer
        blocked:
          type: boolean
        created_at:
          type: string
        delete:
          type: boolean
        family_id:
          type: integer
        family_name:
          type: string
        links:
          $ref: "#/components/schemas/VehicleExclusionLinks"
        position_name:
          type: string
        reason:
          type: string
        updated_at:
          type: string
        vehicle_id:
          type: integer
      type: object
    VehicleFamilyExclusionCollection:
      properties:
        family_exclusions:
          items:
            $ref: "#/components/schemas/VehicleExclusionObject"
          type: array
        meta:
          $ref: "#/components/schemas/Meta"
      type: object
    VehicleLinks:
      properties:
        sources:
          example: https://api.autopass.pro/vehicles/1/sources
          type: string
      type: object
    VehiclePartOECollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        parts_oe:
          items:
            $ref: "#/components/schemas/VehiclePartOEObject"
          type: array
      type: object
    VehiclePartOELinks:
      properties:
        vehicle:
          example: https://api.autopass.pro/vehicles/1
          type: string
      type: object
    VehiclePartOEObject:
      properties:
        application_id:
          type: integer
        code:
          type: string
        is_frozen:
          type: boolean
        label:
          type: string
        links:
          $ref: "#/components/schemas/VehiclePartOELinks"
        part_oe_id:
          type: integer
        provider_id:
          type: integer
      type: object
    VehiclePlateCollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        plates:
          items:
            $ref: "#/components/schemas/VehiclePlateObject"
          type: array
      type: object
    VehiclePlateLinks:
      properties:
        self:
          example: https://api.autopass.pro/vehicles/1
          type: string
      type: object
    VehiclePlateObject:
      properties:
        code:
          type: string
        country_code:
          type: string
        creation_date:
          type: string
        links:
          $ref: "#/components/schemas/VehiclePlateLinks"
        plate_id:
          type: integer
        provider_id:
          type: integer
        vehicle_id:
          type: integer
      type: object
    VehiclePreviewCollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        vehicles:
          items:
            $ref: "#/components/schemas/VehiclePreviewObject"
          type: array
      type: object
    VehiclePreviewLinks:
      properties:
        self:
          example: https://api.autopass.pro/vehicles/1
          type: string
        sources:
          example: https://api.autopass.pro/vehicles/1/sources
          type: string
      type: object
    VehiclePreviewObject:
      properties:
        body:
          type: string
        energy:
          type: string
        engine_capacity:
          type: string
        gearbox:
          type: string
        ktypnr:
          type: integer
        kw_power:
          type: string
        links:
          $ref: "#/components/schemas/VehiclePreviewLinks"
        manufacturer:
          type: string
        model:
          type: string
        reg_country:
          type: string
        reg_date1:
          type: string
        reg_plate:
          type: string
        vehicle_id:
          type: integer
        version:
          type: string
        vin:
          type: string
        wheel_drive:
          type: string
      type: object
    VehicleSourceCollection:
      properties:
        meta:
          $ref: "#/components/schemas/Meta"
        sources:
          items:
            $ref: "#/components/schemas/VehicleSourceObject"
          type: array
      type: object
    VehicleSourceObject:
      properties:
        data:
          additionalProperties:
            $ref: "#/components/schemas/VehicleData"
          type: object
        name:
          type: string
        provider_id:
          type: integer
        provider_name:
          type: string
      type: object
    Refoe:
      properties:
        application_id:
          type: integer
        code:
          type: string
        code_raw:
          type: string
        delete:
          type: boolean
        description:
          type: string
        is_frozen:
          type: boolean
        manufacturer_id:
          type: integer
        provider_id:
          type: integer
        refoe_id:
          type: integer
        source_id:
          $ref: "#/components/schemas/SourceID"
      type: object
    SourceID:
      enum:
        - 0
        - 1
        - 2
      type: integer
      x-enum-varnames:
        - SourceDB
        - SourcePROVIDER
        - SourceCACHE
    SourceVehicleData:
      properties:
        data:
          additionalProperties:
            $ref: "#/components/schemas/VehicleData"
          type: object
          nullable: true
        name:
          type: string
        provider_id:
          type: integer
        provider_name:
          type: string
      type: object
    VehicleData:
      properties:
        name:
          type: string
        normalized:
          type: string
        provider_id:
          type: integer
        value:
          type: string
      type: object
