{"openapi":"3.1.0","info":{"title":"LDX Consultas API — sunat-dni","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/sunat-dni/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__sunat-dni__consulta_get","parameters":[{"name":"dni","in":"query","required":true,"description":"Documento Nacional de Identidad de la persona. Exactamente 8 dígitos, sin puntos ni espacios.","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 sunat-dni","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":["sunat-dni"],"description":"Servicio consultado.","example":"sunat-dni"},"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 sunat-dni","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 de la persona. Exactamente 8 dígitos, sin puntos ni espacios.","example":"87654321"}},"required":["dni"],"example":{"dni":"87654321"}},"datos":{"type":["object","null"],"title":"Datos de sunat-dni","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_completo":{"type":["string","null"],"description":"Nombre en orden de lectura: los nombres seguidos de los apellidos. Si SUNAT no separa las dos partes, es el texto completo tal cual.","example":"CARLOS ALBERTO QUISPE MAMANI"},"apellidos":{"type":["string","null"],"description":"Los apellidos JUNTOS, tal como los agrupa SUNAT. No se parten en paterno y materno: el padrón devuelve apellidos compuestos («DE LA CRUZ VARGAS», «VDA DE ZAZA») que ninguna regla separa sin equivocarse, y un apellido mal partido no lo puede detectar el cliente.","example":"QUISPE MAMANI"},"nombres":{"type":["string","null"],"description":"Los nombres de pila, tal como los agrupa SUNAT.","example":"CARLOS ALBERTO"}},"required":["nombre_completo","apellidos","nombres"],"example":{"nombre_completo":"CARLOS ALBERTO QUISPE MAMANI","apellidos":"QUISPE MAMANI","nombres":"CARLOS ALBERTO"}},"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":[]}]}