Crear consulta VIN (asíncrona)
curl --request POST \
--url https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vin": "<string>"
}
'import requests
url = "https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin"
payload = { "vin": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({vin: '<string>'})
};
fetch('https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vin' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin"
payload := strings.NewReader("{\n \"vin\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vin\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vin\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"message": "<string>",
"data": {
"task_id": "<string>"
}
}Consulta Datos Públicos
Crear consulta VIN (asíncrona)
Encola la consulta de placas por VIN y devuelve un task_id. Recomendada para lotes.
POST
/
api
/
v1
/
solutions
/
consulta
/
vehicular-vin
Crear consulta VIN (asíncrona)
curl --request POST \
--url https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"vin": "<string>"
}
'import requests
url = "https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin"
payload = { "vin": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({vin: '<string>'})
};
fetch('https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'vin' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin"
payload := strings.NewReader("{\n \"vin\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"vin\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"vin\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"message": "<string>",
"data": {
"task_id": "<string>"
}
}Cuándo usar este endpoint
La fuente registral (SUNARP) atiende un número limitado de consultas por minuto. Este endpoint acepta tus VINs de inmediato, sin importar cuántos envíes de golpe, y los resuelve por detrás a ritmo controlado y con reintentos automáticos. Es el único flujo de consulta por VIN: sirve igual para un VIN suelto que para un lote. El flujo tiene dos pasos:POSTcon el VIN → respuesta202con untask_id.GET /api/v1/solutions/consulta/vehicular-vin/{task_id}hasta que el estado deje de serpending, o recibe el resultado en tu webhook si tienes uno configurado.
Autenticación
¿Todavía no tienes un API token? El campo
Authorization del panel Try it espera tu token Bearer. Revisa dónde obtener tu API token para conseguirlo.Authorization: Bearer YOUR_API_KEY
Atributos Requeridos
string
required
Número de identificación del vehículo (VIN). 17 caracteres alfanuméricos, sin las letras I, O ni Q (ISO 3779). Se normaliza a mayúsculas.
Respuesta
string
success cuando la consulta fue aceptada.string
Mensaje descriptivo.
object
Show propiedades de data
Show propiedades de data
string
Identificador de la consulta (UUID). Úsalo en el
GET de resultado.Ejemplo de Solicitud
curl --request POST \
--url https://prd-api.verifica.id/api/v1/solutions/consulta/vehicular-vin \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TU-API-KEY}' \
--data '{"vin": "1HGCM82633A004352"}'
Ejemplo de Respuesta
{
"status": "success",
"message": "Consulta recibida y en proceso.",
"data": {
"task_id": "9c1d2f6e-3b7a-4e0d-9f21-6a5c0b8d1e42"
}
}
Cuota
Cada consulta aceptada descuenta 1 de tu cuota de consulta vehicular en el momento del202.
Códigos de Error
| Código | Descripción |
|---|---|
| 401 | Token de autenticación inválido o faltante |
| 402 | Sin cuota disponible para atender la petición |
| 422 | El campo vin es requerido o no cumple el formato (17 alfanuméricos, sin I, O ni Q) |
| 429 | Demasiadas solicitudes - se ha excedido el límite de rate |