Car API (carapi.app) Vin Decoder API

The Vin Decoder API from Car API (carapi.app) — 1 operation(s) for vin decoder.

OpenAPI Specification

car-api-vin-decoder-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.10.20
  title: Car Account Vin Decoder API
  description: 'Welcome to [CarAPIs vehicle API](https://carapi.app) documentation. The developer friendly Car API.

    Start developing with your vehicle API today — no fees, no signup. CarAPIs free vehicle data-set

    requires no account. Only pay when you''re ready to go live. The free data-set is limited to 2015-2020 vehicles.

    To access the full data-set you may [signup here](https://carapi.app/register) and then select a subscription plan.


    **Additional Documentation**


    For additional documentation please review [https://carapi.app/docs](https://carapi.app/docs).


    **SDKs**


    PHP SDK: [https://github.com/car-api-team/carapi-php-sdk](https://github.com/car-api-team/carapi-php-sdk)


    **Release Updates**


    Check release history here: [https://github.com/car-api-team/docs/releases](https://github.com/car-api-team/docs/releases)

    '
servers:
- url: https://carapi.app
tags:
- name: Vin Decoder
paths:
  /api/vin/{vin}:
    get:
      operationId: vindecoder:index:get
      summary: Car API Vin Decoder
      description: 'Decodes Vehicle Identification Numbers. The result will include a list of specifications in the `specs` property

        and a list of all possible trims matching the VIN in the `trims` property. For non-paying users, all VINs for

        2015-2020 models (e.g. 1GTG6CEN0L1139305) will be returned, otherwise data is hidden. Paying users have full

        data access.


        You may include body, engine, and mileage data to the matching trims by requesting `?verbose=yes`.


        You may include all trims for the VINs model by requesting `?all_trims=yes`. By default, only trims

        closely matching the requested VIN are returned.'
      tags:
      - Vin Decoder
      parameters:
      - in: path
        name: vin
        required: true
        schema:
          type: string
      - in: query
        name: verbose
        description: 'Includes body, engine, and mileage data (default: no)'
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
      - in: query
        name: all_trims
        description: 'Includes all trims for the matching model (default: no)'
        required: false
        schema:
          type: string
          enum:
          - 'yes'
          - 'no'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                properties:
                  year:
                    example: 2020
                    type: integer
                    format: year
                  make:
                    example: make (e.g. Toyota)
                    type: string
                  model:
                    example: model (e.g. Camry)
                    type: string
                  trim:
                    example: trim (e.g. LX)
                    type: string
                  specs:
                    type: object
                  trims:
                    items:
                      type: object
                    type: array
                type: object
            application/ld+json:
              schema:
                properties:
                  year:
                    example: 2020
                    type: integer
                    format: year
                  make:
                    example: make (e.g. Toyota)
                    type: string
                  model:
                    example: model (e.g. Camry)
                    type: string
                  trim:
                    example: trim (e.g. LX)
                    type: string
                  specs:
                    type: object
                  trims:
                    items:
                      type: object
                    type: array
                type: object
            application/hal+json:
              schema:
                properties:
                  year:
                    example: 2020
                    type: integer
                    format: year
                  make:
                    example: make (e.g. Toyota)
                    type: string
                  model:
                    example: model (e.g. Camry)
                    type: string
                  trim:
                    example: trim (e.g. LX)
                    type: string
                  specs:
                    type: object
                  trims:
                    items:
                      type: object
                    type: array
                type: object
        '400':
          description: BadRequestException
          content:
            application/json:
              schema:
                title: BadRequestException
                properties:
                  exception:
                    example: BadRequestException
                    type: string
                  code:
                    example: 400
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The request contains invalid data. The returned error message should indicate the issue.
                    type: string
        '405':
          description: MethodNotAllowedException
          content:
            application/json:
              schema:
                title: MethodNotAllowedException
                properties:
                  exception:
                    example: MethodNotAllowedException
                    type: string
                  code:
                    example: 405
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The HTTP method used to request this resource is not valid. For example, using an HTTP POST  when the endpoint only accepts HTTP GET.
                    type: string
        '429':
          description: 'TooManyRequestsException - Max Per Minute: 600'
          content:
            application/json:
              schema:
                title: TooManyRequestsException
                properties:
                  exception:
                    example: TooManyRequestsException
                    type: string
                  code:
                    example: 429
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: 'TooManyRequestsException - Max Per Minute: 600 (note: daily rate limits may apply, see your subscription plans details)'
                    type: string
        '503':
          description: ServiceUnavailableException
          content:
            application/json:
              schema:
                title: ServiceUnavailableException
                properties:
                  exception:
                    example: ServiceUnavailableException
                    type: string
                  code:
                    example: 503
                    type: string
                  url:
                    example: /url/path
                    type: string
                  message:
                    example: The server is unavailable, typically only encountered during scheduled maintenance.
                    type: string
      security:
      - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-swagger-bake:
  components:
    parameters:
      paginatorPage:
        name: page
        in: query
        required: false
        schema:
          type: integer
      paginatorLimit:
        name: limit
        in: query
        required: false
        schema:
          type: integer
      paginatorSort:
        name: sort
        in: query
        required: false
        schema:
          type: string
      paginatorDirection:
        name: direction
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
    schemas:
      HalJson-Item:
        type: object
        properties:
          links:
            type: object
            properties:
              self:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /entity/:id
      HalJson-Collection:
        type: object
        properties:
          links:
            type: object
            properties:
              self:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection
              next:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection?page=:number
              prev:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection?page=:number
              first:
                type: object
                properties:
                  href:
                    type: string
                    format: url
                    example: /collection?page=:number
              properties:
                href:
                  type: string
                  format: url
                  example: /collection?page=:number
            last:
              type: object
              properties:
                href:
                  type: string
                  format: url
                  example: /collection?page=:number
      JsonLd-Item:
        type: object
        properties:
          '@id':
            type: string
            format: url
            example: /entity/:id
          '@type':
            type: string
            format: url
            example: https://schema.org/Thing
          '@context':
            type: string
            format: url
            example: /context/Entity
      JsonLd-Collection:
        type: object
        properties:
          '@id':
            type: string
            format: url
            example: /entity/:id
          '@type':
            type: string
            format: url
            example: https://schema.org/Thing
          '@context':
            type: string
            format: url
            example: /context/Entity
          view:
            type: object
            properties:
              '@id':
                type: string
                format: url
                example: /index
              '@type':
                type: string
                example: PartialCollectionView
              next:
                type: string
                format: url
                example: /index?page=:number
              prev:
                type: string
                format: url
                example: /index?page=:number
              first:
                type: string
                format: url
                example: /index
              last:
                type: string
                format: url
                example: /index?page=:number
      Generic-Collection:
        properties:
          collection:
            properties:
              url:
                example: /collection
                type: string
                format: url
              count:
                example: 50
                type: integer
              pages:
                example: 20
                type: integer
              total:
                example: 200
                type: integer
              next:
                example: /collection?page=:number
                type: string
                format: url
              prev:
                example: /collection?page=:number
                type: string
                format: url
              first:
                example: /collection?page=:number
                type: string
                format: url
              last:
                example: /collection?page=:number
                type: string
                format: url
            type: object
        type: object
        x-data-element: data