Deshacer una fila
Deshace lo resuelto y la vuelve a cruzar. No borra lo que se registró en el libro: casi siempre la fila vuelve a quedar MATCHED con ese mismo movimiento.
Autorización
apiKey reconciliation.writeLa llave del negocio, creada en el panel: Integraciones → API pública. vk_live_… es una llave real; vk_test_…, una llave de modo prueba (verificaciones simuladas, nada toca el libro real). Ver la guía «Modo de prueba».
Va en: header
Permiso: reconciliation.write
Parámetros de la ruta
Parámetros de consulta
Sobre qué negocio actúa la petición. Obligatorio solo si la llave entra a varios negocios; con uno solo, se deduce.
Parámetros de cabecera
Llave única de la operación. Un reintento con la misma llave y el mismo cuerpo devuelve la respuesta original en vez de volver a ejecutar. Ver la guía de idempotencia.
length <= 255Cuerpo de la respuesta
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/bank-statements/cmuh8q2r70044x8w1b6n3m1kd/lines/cmuh8q2s90045x8w1z5c4v2ep/reset"{ "object": "bankStatementLineAction", "action": "reset", "outcome": "APPLIED", "line": { "object": "bankStatementLine", "id": "cmuh8q2s90045x8w1z5c4v2ep", "statementId": "cmuh8q2r70044x8w1b6n3m1kd", "seq": 17, "page": 1, "date": "2026-09-12", "time": null, "postDate": null, "description": "TRANSFERENCIA DESDE NEQUI", "reference": "00812345", "amount": 120000, "direction": "in", "balance": 2410500, "fee": null, "feeTax": null, "withholding": null, "bankFeeCategory": null, "status": "MATCHED", "matchMethod": "MANUAL", "matchScore": null, "resolvedAt": "2026-10-12T21:10:44.000Z", "inheritedDate": false, "rawText": "2026/09/12 TRANSFERENCIA DESDE NEQUI 00812345 120,000.00 2,410,500.00", "income": { "id": "cmufa1b2c0009x8w1q4w5e6rt", "amount": 120000, "occurredAt": "2026-09-12T14:40:00.000Z", "customerName": "Gloria Restrepo", "status": "VERIFIED", "origin": "WHATSAPP", "reference": "00812345" }, "expense": null }, "statement": { "id": "cmuh8q2r70044x8w1b6n3m1kd", "progress": { "total": 64, "resolved": 52, "pending": 12, "percentResolved": 81 }, "groups": { "matched": { "count": 38, "amount": 4104300 }, "registered": { "count": 1, "amount": 120000 }, "bankFees": { "count": 13, "amount": 26443.62 }, "ignored": { "count": 0, "amount": 0 }, "missingIncomes": { "count": 5, "amount": 648000 }, "missingExpenses": { "count": 7, "amount": 1843200 }, "onlyInVerifika": { "count": 2, "amount": 95000 } } }}Ignorar una fila POST
«No va en el libro»: un traslado entre cuentas propias, por ejemplo.
Resolver filas en lote POST
La misma acción sobre varias filas: `lineIds` (hasta 1.000) **o** `filter` (`{}` = todas; los mismos campos del listado de filas, con `status` como arreglo). Por filtro se toman las primeras 1.000 que la acción puede resolver con esta llave y `remaining` dice cuántas quedan. Lo que no aplica sale en `skipped` sin tumbar el resto. `reset` por filtro con más de 1.000 filas es `422 BULK_TOO_LARGE`.