> ## Documentation Index
> Fetch the complete documentation index at: https://developers.verifica.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Consultar respuesta

> Consulta por polling el estado y resultado de una consulta VIN

## Autenticación

Este endpoint requiere autenticación Bearer. Incluye tu API key en el header Authorization (si aún no sabes cómo obtener y usar tu API key, consulta la página de [Autenticación](/api-reference/authentication)):

```
Authorization: Bearer YOUR_API_KEY
```

## Atributos Requeridos

<ParamField path="task_id" type="string" required>
  Identificador de la tarea devuelto por [Crear consulta](/api-reference/vin/create-vin-query).
</ParamField>

## Respuesta

Usa el mismo envelope que la entrega por [webhook](/api-reference/vin/webhook). El campo `status` indica el estado de la consulta.

<ResponseField name="status" type="string">
  Estado de la consulta: `pending` (aún en proceso), `success` (proceso correcto, con o sin resultado) o `error` (fallo interno).
</ResponseField>

<ResponseField name="message" type="string">
  Mensaje legible del resultado.
</ResponseField>

<ResponseField name="data" type="object | null">
  Carga útil; `null` cuando aún está en proceso, no hay coincidencias o hubo error.

  <Expandable title="propiedades de data">
    <ResponseField name="vin" type="string">
      Número de VIN consultado.
    </ResponseField>

    <ResponseField name="placas" type="array">
      **Siempre un arreglo** (0..n). Un VIN puede tener más de una placa (p. ej. placa actual y anterior); cada elemento trae `placa` y `estado`.

      <Expandable title="elemento de placas">
        <ResponseField name="placa" type="string">
          Número de placa asociada al VIN.
        </ResponseField>

        <ResponseField name="estado" type="string">
          Estado de la placa (ej: "En Circulación").
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<Info>
  `success` = la petición/proceso ocurrió **sin error interno**, incluso cuando `data` es `null` (sin coincidencias). `error` se reserva para fallos internos: `500` o `503` transitorio (reintentable).
</Info>

## Escenarios de Respuesta

### Placa encontrada · HTTP 200

```json theme={null}
{
  "status": "success",
  "message": "Se ha encontrado la información correctamente.",
  "data": {
    "vin": "1HGCM82633A004352",
    "placas": [
      { "placa": "ABC-123", "estado": "En Circulación" }
    ]
  }
}
```

### En proceso · HTTP 202

```json theme={null}
{
  "status": "pending",
  "message": "La consulta aún está en proceso.",
  "data": null
}
```

### Sin coincidencias · HTTP 200

Proceso correcto, sin resultado.

```json theme={null}
{
  "status": "success",
  "message": "No se encontró información para el VIN consultado.",
  "data": null
}
```

### Error interno · HTTP 500

```json theme={null}
{
  "status": "error",
  "message": "Ocurrió un error al procesar la consulta.",
  "data": null
}
```

### Servicio temporalmente no disponible · HTTP 503

Error transitorio: reintenta en unos minutos.

```json theme={null}
{
  "status": "error",
  "message": "Servicio temporalmente no disponible, reintente en unos minutos.",
  "data": null
}
```

## Catálogo de Resultados

| Escenario                            | HTTP | `status`  | Body                                           |
| ------------------------------------ | ---- | --------- | ---------------------------------------------- |
| En proceso (solo polling)            | 202  | `pending` | `message`, `data: null`                        |
| Placa encontrada                     | 200  | `success` | `data: { vin, placas: [ { placa, estado } ] }` |
| Sin coincidencias                    | 200  | `success` | `message`, `data: null`                        |
| Error interno                        | 500  | `error`   | `message`, `data: null`                        |
| Servicio no disponible (transitorio) | 503  | `error`   | `message`, `data: null`                        |

## Códigos de Error

| Código | Descripción                                                                    |
| ------ | ------------------------------------------------------------------------------ |
| 401    | Token de autenticación inválido o faltante                                     |
| 404    | El `task_id` no existe                                                         |
| 500    | Error interno del servidor                                                     |
| 503    | Servicio temporalmente no disponible (transitorio) - reintenta en unos minutos |
