Car API (carapi.app) Vin Decoder API
The Vin Decoder API from Car API (carapi.app) — 1 operation(s) for vin decoder.
The Vin Decoder API from Car API (carapi.app) — 1 operation(s) for vin decoder.
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