{"openapi":"3.1.0","info":{"title":"LDX Consultas API — mtc-licencia","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/mtc-licencia/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__mtc-licencia__consulta_get","parameters":[{"name":"dni","in":"query","required":true,"description":"Documento Nacional de Identidad del conductor, 8 dígitos. Es el único tipo de documento que expone este servicio; el MTC admite otros (carné de extranjería, PTP) que aquí no se aceptan.","example":"87654321","schema":{"type":"string","pattern":"^[0-9]{8}$"}},{"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 mtc-licencia","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":["mtc-licencia"],"description":"Servicio consultado.","example":"mtc-licencia"},"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 mtc-licencia","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":{"dni":{"type":"string","description":"Documento Nacional de Identidad del conductor, 8 dígitos. Es el único tipo de documento que expone este servicio; el MTC admite otros (carné de extranjería, PTP) que aquí no se aceptan.","example":"87654321"}},"required":["dni"],"example":{"dni":"87654321"}},"datos":{"type":["object","null"],"title":"Datos de mtc-licencia","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":{"tiene_licencia":{"type":["boolean","null"],"description":"Falso cuando el MTC contesta que el documento no registra licencia de conducir. Es una respuesta legítima del MTC, no un fallo de la consulta: el resto de campos viajan en `null` y `estado_licencia` o `mensaje` recogen lo que dijo el MTC. Una consulta que NO se pudo hacer no llega hasta aquí: devuelve error.","example":true},"mensaje":{"type":["string","null"],"description":"Texto tal cual lo escribe el MTC cuando el documento no figura en el Registro Nacional de Sanciones. Vacío en cualquier otro caso."},"nombre":{"type":["string","null"],"description":"Nombre del titular, tal y como lo rotula el MTC (apellidos primero).","example":"QUISPE MAMANI JUAN CARLOS"},"documento":{"type":["string","null"],"description":"Documento que devuelve el MTC. Se publica para poder casar cada resultado de un lote con su ítem.","example":"87654321"},"licencia":{"type":["string","null"],"description":"Número de la licencia de conducir.","example":"Q87654321"},"clase_categoria":{"type":["string","null"],"description":"Clase y categoría de la licencia («AIIIc», «AI», «BIIc»…).","example":"AIIIc"},"vigencia":{"type":["string","null"],"description":"Fecha hasta la que la licencia está vigente, en formato `AAAA-MM-DD`. El MTC la da como día, sin hora.","example":"2029-07-08"},"estado_licencia":{"type":["string","null"],"description":"Situación de la licencia según el MTC: «VIGENTE», «CANCELADA/CONDUCTOR INHABILITADO», etc. Se publica el texto del MTC sin traducir ni agrupar.","example":"VIGENTE"},"mensaje_retencion":{"type":["string","null"],"description":"Aviso de retención de la licencia. El MTC solo dibuja este campo cuando hay retención; en cualquier otro caso viaja en `null`."},"infracciones_muy_graves":{"type":["integer","null"],"description":"Número de infracciones muy graves acumuladas.","example":0},"infracciones_graves":{"type":["integer","null"],"description":"Número de infracciones graves acumuladas.","example":0},"puntos_acumulados":{"type":["integer","null"],"description":"Puntos firmes acumulados en el sistema de licencia por puntos. A partir de 100 puntos el MTC inhabilita al conductor.","example":0},"mensaje_limite":{"type":["string","null"],"description":"Aviso del MTC sobre el límite de puntos. Llega vacío mientras el conductor no se acerque al límite."}},"required":["tiene_licencia","mensaje","nombre","documento","licencia","clase_categoria","vigencia","estado_licencia","mensaje_retencion","infracciones_muy_graves","infracciones_graves","puntos_acumulados","mensaje_limite"],"example":{"tiene_licencia":true,"mensaje":null,"nombre":"QUISPE MAMANI JUAN CARLOS","documento":"87654321","licencia":"Q87654321","clase_categoria":"AIIIc","vigencia":"2029-07-08","estado_licencia":"VIGENTE","mensaje_retencion":null,"infracciones_muy_graves":0,"infracciones_graves":0,"puntos_acumulados":0,"mensaje_limite":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":[]}]}