Vincario Stolen Check API
Performs a real-time check of a VIN against national police databases of stolen vehicles (Czech Republic, Hungary, Lithuania, Romania, Slovenia, Slovakia) and Vincario's own database of stolen vehicles.
Performs a real-time check of a VIN against national police databases of stolen vehicles (Czech Republic, Hungary, Lithuania, Romania, Slovenia, Slovakia) and Vincario's own database of stolen vehicles.
openapi: 3.0.1
info:
title: Vincario VIN Decoder API
description: >-
REST API for the vindecoder.eu service operated by Vincario. The API decodes a
Vehicle Identification Number (VIN) into a full vehicle specification and also
provides vehicle market value, real-time stolen-vehicle checks, the list of
decodable vehicle details, and the remaining account balance.
Authentication uses an API key (id) and a secret key. Each request carries a
per-request control sum in the URL path. The control sum is the first 10
characters of the SHA1 hash of the pipe-delimited string
`{lookup}|{id}|{apikey}|{secretkey}`, where `{lookup}` is the uppercased VIN for
VIN-based endpoints (decode, vininfo, vehicle-market-value, stolencheck) and the
API key itself for the balance endpoint, and `{id}` is the endpoint identifier
(for example `decode`, `vininfo`, `vehicle-market-value`, `stolencheck`,
`balance`). The secret key is never transmitted; it is only used to derive the
control sum. The path layout is
`/{apikey}/{controlsum}/{id}/{vin}.json`.
termsOfService: https://vindecoder.eu/terms
contact:
name: Vincario Support
url: https://vincario.com
version: '3.2'
servers:
- url: https://api.vindecoder.eu/3.2
description: Vincario VIN Decoder API v3.2
security:
- signedPath: []
paths:
/{apikey}/{controlsum}/decode/{vin}.json:
get:
operationId: decodeVin
tags:
- Decode
summary: Decode a VIN into a full vehicle specification.
description: >-
Decodes a 17-character VIN and returns the full vehicle specification
(make, model, model year, body, engine, fuel, transmission and additional
decoded attributes). The control sum is computed from
`{VIN}|decode|{apikey}|{secretkey}`.
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/ControlSum'
- $ref: '#/components/parameters/Vin'
responses:
'200':
description: Decoded vehicle specification.
content:
application/json:
schema:
$ref: '#/components/schemas/DecodeResponse'
'400':
$ref: '#/components/responses/Error'
'403':
$ref: '#/components/responses/Error'
/{apikey}/{controlsum}/vininfo/{vin}.json:
get:
operationId: vinInfo
tags:
- Vehicle Info
summary: List the vehicle details available for a VIN.
description: >-
Returns the list of vehicle details that can be decoded for the supplied
VIN. This informational lookup is free of charge. The control sum is
computed from `{VIN}|vininfo|{apikey}|{secretkey}`.
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/ControlSum'
- $ref: '#/components/parameters/Vin'
responses:
'200':
description: Available decodable details for the VIN.
content:
application/json:
schema:
$ref: '#/components/schemas/VinInfoResponse'
'400':
$ref: '#/components/responses/Error'
'403':
$ref: '#/components/responses/Error'
/{apikey}/{controlsum}/vehicle-market-value/{vin}.json:
get:
operationId: vehicleMarketValue
tags:
- Market Value
summary: Get statistical market value for a vehicle.
description: >-
Returns statistical data about the price and odometer of vehicles on the
market matching the decoded VIN, together with the input parameters used
for the computation. The control sum is computed from
`{VIN}|vehicle-market-value|{apikey}|{secretkey}`.
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/ControlSum'
- $ref: '#/components/parameters/Vin'
responses:
'200':
description: Market value statistics for the vehicle.
content:
application/json:
schema:
$ref: '#/components/schemas/MarketValueResponse'
'400':
$ref: '#/components/responses/Error'
'403':
$ref: '#/components/responses/Error'
/{apikey}/{controlsum}/stolencheck/{vin}.json:
get:
operationId: stolenCheck
tags:
- Stolen Check
summary: Check a VIN against stolen-vehicle databases.
description: >-
Performs a real-time check of the VIN against national police databases of
stolen vehicles (Czech Republic, Hungary, Lithuania, Romania, Slovenia,
Slovakia) and Vincario's own database. The control sum is computed from
`{VIN}|stolencheck|{apikey}|{secretkey}`.
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/ControlSum'
- $ref: '#/components/parameters/Vin'
responses:
'200':
description: Stolen-check result for the VIN.
content:
application/json:
schema:
$ref: '#/components/schemas/StolenCheckResponse'
'400':
$ref: '#/components/responses/Error'
'403':
$ref: '#/components/responses/Error'
/{apikey}/{controlsum}/balance.json:
get:
operationId: getBalance
tags:
- Account
summary: Get remaining account balance.
description: >-
Returns the remaining API credits/balance for each service on the
authenticated account. The control sum is computed from
`{apikey}|balance|{apikey}|{secretkey}` (the VIN slot is the API key
because this endpoint is not VIN-scoped).
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/ControlSum'
responses:
'200':
description: Remaining balance per service.
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceResponse'
'403':
$ref: '#/components/responses/Error'
components:
securitySchemes:
signedPath:
type: apiKey
in: query
name: controlsum
description: >-
Path-signed authentication. The API key (id) and a per-request SHA1
control sum are passed as URL path segments rather than headers or query
parameters; this scheme is declared as a placeholder because OpenAPI 3.0
cannot natively express path-segment-based signed credentials. The control
sum is `substr(sha1("{lookup}|{id}|{apikey}|{secretkey}"), 0, 10)`. The
secret key is never sent over the wire.
parameters:
ApiKey:
name: apikey
in: path
required: true
description: The account API key (id).
schema:
type: string
ControlSum:
name: controlsum
in: path
required: true
description: >-
First 10 characters of `sha1("{lookup}|{id}|{apikey}|{secretkey}")`.
schema:
type: string
minLength: 10
maxLength: 10
Vin:
name: vin
in: path
required: true
description: The 17-character Vehicle Identification Number (uppercase).
schema:
type: string
minLength: 11
maxLength: 17
example: WF0MXXGBWM8R43240
responses:
Error:
description: Error response (invalid VIN, bad control sum, or insufficient balance).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
DecodeResponse:
type: object
properties:
decode:
type: array
description: List of decoded label/value pairs describing the vehicle.
items:
type: object
properties:
label:
type: string
example: Make
value:
type: string
example: Ford
id:
type: integer
example: 1
price:
type: number
description: Number of credits charged for the request.
example: 1
balance:
type: object
description: Remaining balance per service after the request.
additionalProperties:
type: number
VinInfoResponse:
type: object
properties:
vininfo:
type: array
description: List of vehicle details that can be decoded for the VIN.
items:
type: object
properties:
label:
type: string
id:
type: integer
MarketValueResponse:
type: object
properties:
vin:
type: string
example: WF0MXXGBWM8R43240
price:
type: object
description: Statistical price data for matching vehicles on the market.
properties:
currency:
type: string
example: EUR
count:
type: integer
example: 124
market_price_min:
type: number
example: 6500
market_price_max:
type: number
example: 12900
market_price_mean:
type: number
example: 9100
odometer:
type: object
description: Statistical odometer data for matching vehicles on the market.
properties:
unit:
type: string
example: km
count:
type: integer
example: 124
odometer_min:
type: number
example: 45000
odometer_max:
type: number
example: 280000
odometer_mean:
type: number
example: 160000
input:
type: object
description: Input parameters used for the market value computation.
StolenCheckResponse:
type: object
properties:
vin:
type: string
example: WF0MXXGBWM8R43240
stolen:
type: boolean
description: Whether the VIN was found in any stolen-vehicle database.
example: false
records:
type: array
description: Matching stolen-vehicle records, if any.
items:
type: object
properties:
source:
type: string
description: The database/source where the record was found.
example: Czech Republic Police
date:
type: string
format: date
BalanceResponse:
type: object
description: Remaining credits per available service.
properties:
balance:
type: object
additionalProperties:
type: number
example:
decode: 950
vehicle-market-value: 480
stolencheck: 480
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message.
example: Invalid VIN
code:
type: integer
description: Error code.
example: 400