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