{"openapi":"3.1.0","info":{"title":"LDX Consultas API — atu-credencial","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/atu-credencial/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__atu-credencial__consulta_get","parameters":[{"name":"tipo","in":"query","required":false,"description":"Tipo de documento del conductor, con las etiquetas que usa el propio desplegable de ATU. Es opcional: si no se manda se consulta por DNI. `dni`: DNI · `carne-extranjeria`: CE · `ptp`: PTP/CPP · `csr`: CSR","example":"dni","schema":{"type":"string","pattern":"^[a-z-]{3,20}$","enum":["dni","carne-extranjeria","ptp","csr"],"default":"dni"}},{"name":"documento","in":"query","required":true,"description":"Número del documento, solo dígitos. ATU exige exactamente 8 para el DNI; a los demás tipos les pone un tope de 9 y no impone un mínimo.","example":"45678912","schema":{"type":"string","pattern":"^[0-9]{1,9}$","x-ejemplos-por":"tipo","x-ejemplos-por-valor":{"dni":"45678912","carne-extranjeria":"001234567","ptp":"001234567","csr":"001234567"}}},{"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 atu-credencial","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":["atu-credencial"],"description":"Servicio consultado.","example":"atu-credencial"},"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 atu-credencial","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":{"tipo":{"type":"string","description":"Tipo de documento del conductor, con las etiquetas que usa el propio desplegable de ATU. Es opcional: si no se manda se consulta por DNI. `dni`: DNI · `carne-extranjeria`: CE · `ptp`: PTP/CPP · `csr`: CSR","example":"dni","enum":["dni","carne-extranjeria","ptp","csr"]},"documento":{"type":"string","description":"Número del documento, solo dígitos. ATU exige exactamente 8 para el DNI; a los demás tipos les pone un tope de 9 y no impone un mínimo.","example":"45678912","x-ejemplos-por":"tipo","x-ejemplos-por-valor":{"dni":"45678912","carne-extranjeria":"001234567","ptp":"001234567","csr":"001234567"}}},"required":["tipo","documento"],"example":{"tipo":"dni","documento":"45678912"}},"datos":{"type":["object","null"],"title":"Datos de atu-credencial","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":{"nombre":{"type":["string","null"],"description":"Nombre del conductor, tal y como lo rotula ATU (apellidos primero).","example":"VILCA CONDORI PEDRO MANUEL"},"documento":{"type":["string","null"],"description":"Número de documento que devuelve ATU. Se publica para poder casar cada resultado con su consulta.","example":"45678912"},"tipo_documento":{"type":["string","null"],"description":"Tipo de documento según ATU («DNI», «CE», «PTP/CPP», «CSR»).","example":"DNI"},"condicion":{"type":["string","null"],"description":"Condición del registrado: «CONDUCTOR» o «COBRADOR». ATU la manda con un espacio final; aquí viaja recortada.","example":"CONDUCTOR"},"credencial":{"type":["string","null"],"description":"Número de la credencial de conductor. Los cobradores no tienen credencial de conducir: en su ficha este campo trae el identificador de la empresa o viaja en `null`.","example":"COD45678912"},"modalidad_servicio":{"type":["string","null"],"description":"Modalidad del servicio autorizado, con el texto de ATU («SERVICIO DE TAXI EJECUTIVO», «TRANSPORTE PUBLICO»...). No hay un catálogo cerrado.","example":"SERVICIO DE TAXI EJECUTIVO"},"titular":{"type":["string","null"],"description":"Titular de la autorización de transporte bajo la que trabaja el conductor: casi siempre una empresa. Los cobradores no lo traen.","example":"EMPRESA DE TRANSPORTES EJEMPLO S.A.C."},"fecha_emision":{"type":["string","null"],"description":"Fecha de emisión de la credencial, en formato `AAAA-MM-DD`.","example":"2026-08-21"},"fecha_vencimiento":{"type":["string","null"],"description":"Fecha hasta la que la credencial es válida, en formato `AAAA-MM-DD`. ATU le adjunta una hora que es siempre `12:00:00 a.m.`; se descarta por no inventar una precisión que la fuente no tiene.","example":"2028-11-15"},"fecha_prorroga":{"type":["string","null"],"description":"Fecha hasta la que ATU prorrogó una credencial ya vencida. Viaja en `null` mientras no haya prórroga, que es el caso normal."},"habilitado":{"type":["boolean","null"],"description":"**Campo derivado por LDX, no por ATU**: `true` si hoy está dentro del vencimiento o de la prórroga. Viaja en `null` para los cobradores, que no tienen credencial que vencer — para ellos mira `estado_habilitacion`. La regla es la misma que aplica el portal de ATU en pantalla, y las fechas de las que sale se publican al lado.","example":true},"estado_habilitacion":{"type":["string","null"],"description":"**Campo derivado por LDX, no por ATU.** `HABILITADO` · `HABILITADO_POR_PRORROGA` (vencida, pero con prórroga vigente) · `NO_HABILITADO` (vencida y sin prórroga vigente) · `REGISTRADO` (es cobrador: figura en el registro, pero no hay habilitación que calcular).","example":"HABILITADO"},"medida_cautelar":{"type":["boolean","null"],"description":"El registrado tiene una medida cautelar en su contra. El portal de ATU lo enseña añadiendo «[Medida Cautelar]» al estado; aquí va aparte para no obligar a leer una cadena.","example":false},"fuente_dato":{"type":["string","null"],"description":"Sistema de ATU del que salió la ficha («SISSIT», «GTU»). Explica por qué dos fichas traen campos distintos.","example":"SISSIT"},"vehiculos":{"type":"array","description":"Vehículos vinculados a la credencial, con su cartilla informativa. Viaja en `null` cuando el conductor no tiene ninguno vinculado, que es siempre el caso de los cobradores.","items":{"type":"object","properties":{"placa":{"type":["string","null"],"description":"Placa del vehículo.","example":"ZZZ999"},"marca":{"type":["string","null"],"description":"Marca del vehículo.","example":"CHEVROLET"},"color":{"type":["string","null"],"description":"Color declarado.","example":"GRIS ACERO MET"},"tuc":{"type":["string","null"],"description":"Número de la Tarjeta Única de Circulación con la que el vehículo presta el servicio.","example":"T202600000000E"},"estado":{"type":["string","null"],"description":"Situación del vínculo según ATU («ACTIVO», «DE BAJA»...).","example":"ACTIVO"},"fecha_registro":{"type":["string","null"],"description":"Fecha en que se creó la cartilla del vínculo, `AAAA-MM-DD`.","example":"2026-08-27"},"codigo_cartilla":{"type":["string","null"],"description":"Identificador de la cartilla informativa del vehículo en ATU. Abre el documento oficial en `https://sistemas.atu.gob.pe/ConsultaCredencial/Consultas/ImpresionCartillaInformativa/?codCartilla=<codigo>`.","example":"0f1e2d3c4b5a69788796a5b4c3d2e1f0"}},"required":["placa","marca","color","tuc","estado","fecha_registro","codigo_cartilla"]},"example":[{"placa":"ZZZ999","marca":"CHEVROLET","color":"GRIS ACERO MET","tuc":"T202600000000E","estado":"ACTIVO","fecha_registro":"2026-08-27","codigo_cartilla":"0f1e2d3c4b5a69788796a5b4c3d2e1f0"}]}},"required":["nombre","documento","tipo_documento","condicion","credencial","modalidad_servicio","titular","fecha_emision","fecha_vencimiento","fecha_prorroga","habilitado","estado_habilitacion","medida_cautelar","fuente_dato","vehiculos"],"example":{"nombre":"VILCA CONDORI PEDRO MANUEL","documento":"45678912","tipo_documento":"DNI","condicion":"CONDUCTOR","credencial":"COD45678912","modalidad_servicio":"SERVICIO DE TAXI EJECUTIVO","titular":"EMPRESA DE TRANSPORTES EJEMPLO S.A.C.","fecha_emision":"2026-08-21","fecha_vencimiento":"2028-11-15","fecha_prorroga":null,"habilitado":true,"estado_habilitacion":"HABILITADO","medida_cautelar":false,"fuente_dato":"SISSIT","vehiculos":[{"placa":"ZZZ999","marca":"CHEVROLET","color":"GRIS ACERO MET","tuc":"T202600000000E","estado":"ACTIVO","fecha_registro":"2026-08-27","codigo_cartilla":"0f1e2d3c4b5a69788796a5b4c3d2e1f0"}]}},"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":[]}]}