{"openapi":"3.1.0","info":{"title":"LDX Consultas API — placa","description":"API de consulta de LDX Software: un solo gateway, un solo token y un mismo\nformato de respuesta para todos los servicios del catálogo. Cada servicio\ndeclara sus parámetros y sus campos en su propio documento OpenAPI.\n\n**Autenticación.** Toda petición lleva `Authorization: Bearer ldx_live_...`.\nCrea tu token en el portal; se muestra una sola vez.\n\n**Prueba gratis.** Al registrarte tienes 3 días y 300 consultas. Después el\nacceso se bloquea con un `402` hasta que habilitemos tu cuenta.\n\n**Volumen.** Hasta 25 ítems por lote síncrono; para más, usa\n`POST /v1/batch/jobs` y recoge los resultados por webhook o por sondeo.\n\n**Origen de los datos.** Provienen de los sistemas de consulta pública de\nterceros y pertenecen a esas fuentes, no a LDX Software. LDX Software no\nmantiene relación oficial con ninguna de ellas, no las representa y no\ngarantiza la exactitud, la vigencia ni la disponibilidad de la información que\npublican.","version":"1.0.0"},"servers":[{"url":"https://ldxsoftware.com.pe"}],"paths":{"/consultas/v1/me":{"get":{"tags":["consultas"],"summary":"Mi Cuenta","operationId":"mi_cuenta_consultas_v1_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Mi Cuenta Consultas V1 Me Get"}}}}}}},"/consultas/v1/placa/consulta":{"get":{"tags":["consultas"],"summary":"Consultar un servicio","description":"Consulta puntual de los servicios que no son de rastreo (identidad, vehículos, logística). Los parámetros y la forma de `datos` los declara cada servicio en su documento OpenAPI.\n\n**Datos personales.** La respuesta de este endpoint identifica a una persona. Consúltala solo con una finalidad que puedas sustentar ante su titular, no la conserves más de lo que esa finalidad necesite y trátala conforme a la normativa peruana de protección de datos personales.","operationId":"consulta_consultas_v1__placa__consulta_get","parameters":[{"name":"placa","in":"query","required":true,"description":"Placa de rodaje. Se aceptan las cuatro formas que el registro devuelve, escritas aquí como máscara —«L» es una letra y «N» un dígito—: LLLNNN (actual), LNLNNN (anterior a 2011), NNNNLL y LNNNNN (motos y mototaxis). Los guiones y espacios se admiten y se ignoran: «ZZZ-999» y «ZZZ999» son la misma placa.","example":"ZZZ999","schema":{"type":"string","pattern":"^(?:[A-Z]{3}[0-9]{3}|[A-Z][0-9][A-Z][0-9]{3}|[0-9]{4}[A-Z]{2}|[A-Z][0-9]{5})$"}},{"name":"raw","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Raw"}}],"responses":{"200":{"description":"El dato consultado, o `encontrado: false` si la fuente no lo tiene.","content":{"application/json":{"schema":{"type":"object","title":"Consulta de placa","properties":{"ok":{"type":"boolean","description":"`true` cuando la consulta se resolvió. Que la fuente no tenga el dato NO es un fallo: eso se mira en `encontrado`.","example":true},"request_id":{"type":"string","description":"Identificador de esta petición, el mismo que viaja en la cabecera `X-Request-Id`. Cítalo al reportar una incidencia.","example":"req_9505"},"servicio":{"type":"string","enum":["placa"],"description":"Servicio consultado.","example":"placa"},"operacion":{"type":"string","enum":["consulta"],"description":"Operación del servicio que resolvió esta petición. Un servicio puede publicar varias —shalom publica rastreo, agencias y cotización— y cada una devuelve un `datos` distinto, así que es esto y no `servicio` lo que dice qué forma tiene.","example":"consulta"},"encontrado":{"type":"boolean","description":"La fuente tiene el dato. Cuando es `false`, `datos` viene en `null` y la consulta se cobra igual: se llegó a la fuente y respondió que no existe.","example":true},"consultado":{"type":"object","title":"Consultado en placa","description":"Los parámetros que se consultaron de verdad, ya normalizados por el gateway. Útil para casar la respuesta con la petición cuando se lanzan varias en paralelo.","properties":{"placa":{"type":"string","description":"Placa de rodaje. Se aceptan las cuatro formas que el registro devuelve, escritas aquí como máscara —«L» es una letra y «N» un dígito—: LLLNNN (actual), LNLNNN (anterior a 2011), NNNNLL y LNNNNN (motos y mototaxis). Los guiones y espacios se admiten y se ignoran: «ZZZ-999» y «ZZZ999» son la misma placa.","example":"ZZZ999"}},"required":["placa"],"example":{"placa":"ZZZ999"}},"datos":{"type":["object","null"],"title":"Datos de placa","description":"Lo que publica la fuente. Las claves son siempre estas y solo estas: lo que la fuente no devuelva viaja en `null`. Es `null` entero cuando `encontrado` es `false`.","properties":{"placa":{"type":["string","null"],"description":"La placa consultada, normalizada en mayúsculas.","example":"ZZZ999"},"vehiculo":{"type":["object","null"],"description":"Ficha del vehículo según el registro de placas de la AAP.","properties":{"marca":{"type":["string","null"],"description":"Marca del fabricante.","example":"KIA"},"modelo":{"type":["string","null"],"description":"Modelo tal y como lo registra la AAP.","example":"RIO"},"serie":{"type":["string","null"],"description":"Número de serie del vehículo (VIN/chasis) con el que se inscribió el juego de placas.","example":"KNADN512BG0000001"},"clase":{"type":["string","null"],"description":"Clase con la que se emitió el juego de placas. Es el campo que delata a un taxi: en el Perú la placa de servicio público es distinta de la particular y la clase queda en el registro aunque el vehículo ya no opere como tal.","example":"Vehiculos Particulares ( Categoria M )"}},"required":["marca","modelo","serie","clase"],"example":{"marca":"KIA","modelo":"RIO","serie":"KNADN512BG0000001","clase":"Vehiculos Particulares ( Categoria M )"}},"titular":{"type":["string","null"],"description":"Nombre del titular al que la AAP entregó el juego de placas. Puede traer dos titulares separados por ` / ` cuando el vehículo es de dos personas. NO es el propietario registral vigente: es quien figuraba en el trámite de la placa.","example":"TAPIA QUISPE MARIO ANTONIO"},"registro":{"type":["object","null"],"description":"El trámite que originó el juego de placas.","properties":{"tramite":{"type":["string","null"],"description":"Trámite que originó la placa (`INMATRICULACION`, duplicado, cambio de uso...).","example":"INMATRICULACION"},"estado_entrega":{"type":["string","null"],"description":"Estado de la entrega de la placa FÍSICA, tal y como lo escribe la AAP. Es texto libre suyo: hay fichas completas cuyo estado es `Entregado a cliente SIN CONCILIACIÓN`, así que la frase no indica que falte el registro.","example":"Entregado a cliente"},"punto_entrega":{"type":["string","null"],"description":"Sede donde se entregó la placa.","example":"ASOCIACIÓN AUTOMOTRIZ DEL PERÚ - LIMA"},"fecha_tramite":{"type":["string","null"],"description":"Fecha del trámite, ISO-8601 con zona America/Lima.","example":"2016-01-11T15:46:29-05:00"},"fecha_registro":{"type":["string","null"],"description":"Fecha en que el trámite entró al registro, ISO-8601.","example":"2016-01-13T15:57:13-05:00"},"observaciones":{"type":["string","null"],"description":"Observaciones del trámite, si las hay."}},"required":["tramite","estado_entrega","punto_entrega","fecha_tramite","fecha_registro","observaciones"],"example":{"tramite":"INMATRICULACION","estado_entrega":"Entregado a cliente","punto_entrega":"ASOCIACIÓN AUTOMOTRIZ DEL PERÚ - LIMA","fecha_tramite":"2016-01-11T15:46:29-05:00","fecha_registro":"2016-01-13T15:57:13-05:00","observaciones":null}},"placa_anterior":{"type":["string","null"],"description":"Placa que tenía el vehículo antes de este trámite. Cuando no hubo cambio de número, la AAP repite la placa consultada.","example":"ZZZ999"},"placa_nueva":{"type":["string","null"],"description":"Placa resultante del trámite. Igual que la consultada si no hubo cambio.","example":"ZZZ999"},"gnv":{"type":["object","null"],"description":"Conversión a gas natural vehicular según INFOGAS. Viaja en `null` cuando el vehículo no figura convertido o cuando INFOGAS no respondió; `fuentes` dice cuál de las dos cosas fue.","properties":{"combustible":{"type":["string","null"],"description":"Tipo de combustible registrado por INFOGAS.","example":"GNV-C"},"habilitado":{"type":["boolean","null"],"description":"El vehículo está habilitado para cargar GNV. Es `false` cuando la revisión anual o la prueba del cilindro están vencidas.","example":true},"proxima_revision_anual":{"type":["string","null"],"description":"Próxima revisión anual del sistema de GNV, ISO-8601.","example":"2026-10-24T00:00:00-05:00"},"vencimiento_cilindro":{"type":["string","null"],"description":"Vencimiento de la prueba hidrostática del cilindro, ISO-8601.","example":"2027-09-22T00:00:00-05:00"},"tiene_credito":{"type":["boolean","null"],"description":"El vehículo tiene un crédito de conversión asociado.","example":false},"credito_habilitado":{"type":["boolean","null"],"description":"Ese crédito está habilitado.","example":false}},"required":["combustible","habilitado","proxima_revision_anual","vencimiento_cilindro","tiene_credito","credito_habilitado"],"example":{"combustible":"GNV-C","habilitado":true,"proxima_revision_anual":"2026-10-24T00:00:00-05:00","vencimiento_cilindro":"2027-09-22T00:00:00-05:00","tiene_credito":false,"credito_habilitado":false}},"fuentes":{"type":"array","description":"Qué se pudo consultar y qué no, fuente por fuente. Está SIEMPRE, y trae siempre las mismas entradas: es lo que distingue «la fuente dijo que no hay dato» de «la fuente no contestó».","items":{"type":"object","properties":{"fuente":{"type":["string","null"],"description":"Clave de la fuente.","example":"infogas"},"entidad":{"type":["string","null"],"description":"Entidad detrás de la fuente.","example":"INFOGAS - Conversión a gas natural vehicular"},"estado":{"type":["string","null"],"description":"`ok` (respondió con datos), `sin_datos` (respondió y no tiene registro) o `caido` (no respondió).","example":"ok"},"detalle":{"type":["string","null"],"description":"Motivo, cuando el estado no es `ok`. `null` si respondió bien."}},"required":["fuente","entidad","estado","detalle"]},"example":[{"fuente":"infogas","entidad":"INFOGAS - Conversión a gas natural vehicular","estado":"ok","detalle":null}]}},"required":["placa","vehiculo","titular","registro","placa_anterior","placa_nueva","gnv","fuentes"],"example":{"placa":"ZZZ999","vehiculo":{"marca":"KIA","modelo":"RIO","serie":"KNADN512BG0000001","clase":"Vehiculos Particulares ( Categoria M )"},"titular":"TAPIA QUISPE MARIO ANTONIO","registro":{"tramite":"INMATRICULACION","estado_entrega":"Entregado a cliente","punto_entrega":"ASOCIACIÓN AUTOMOTRIZ DEL PERÚ - LIMA","fecha_tramite":"2016-01-11T15:46:29-05:00","fecha_registro":"2016-01-13T15:57:13-05:00","observaciones":null},"placa_anterior":"ZZZ999","placa_nueva":"ZZZ999","gnv":{"combustible":"GNV-C","habilitado":true,"proxima_revision_anual":"2026-10-24T00:00:00-05:00","vencimiento_cilindro":"2027-09-22T00:00:00-05:00","tiene_credito":false,"credito_habilitado":false},"fuentes":[{"fuente":"infogas","entidad":"INFOGAS - Conversión a gas natural vehicular","estado":"ok","detalle":null}]}},"cached":{"type":"boolean","description":"La respuesta se sirvió de nuestra caché en vez de consultar a la fuente. Se cobra igual.","example":false},"raw":{"type":["object","null"],"description":"La respuesta cruda de la fuente, SOLO si pides `?raw=true`. Su forma la decide la fuente y puede cambiar sin aviso: no es parte del contrato.","additionalProperties":true}},"required":["ok","request_id","servicio","operacion","encontrado","consultado","datos","cached","raw"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token de API con formato `ldx_live_...`. Se obtiene en https://ldxsoftware.com.pe/apis/cuenta y se envía como `Authorization: Bearer <token>`."}}},"security":[{"bearerAuth":[]}]}