Archivar un cliente
Lo saca del tablero, de la lista y de los totales (ya no se le cobra, se mudó…). No perdona la deuda —para eso está condonar— ni borra el historial: se lee igual y se restaura cuando quieras. Mientras esté archivado no admite movimientos ni ediciones.
Archivar uno que ya estaba archivado responde 404.
Permiso: receivables.write.
Autorización
apiKey receivables.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: receivables.write
Parámetros de la ruta
Id del cliente (la cuenta por cobrar).
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 (con Idempotent-Replay: true) en vez de registrar el movimiento otra vez. Ver la guía de idempotencia.
Cuerpo de la respuesta
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/receivables/string/archive"{ "object": "receivableAccount", "id": "cmu4a2k9x000b7qw1h3r5tz8e", "name": "Gloria Restrepo", "phone": "+573104567890", "email": null, "notes": "Mercado de la semana. Paga los viernes.", "stage": "PARTIAL", "dueDate": "2026-10-15T05:00:00.000Z", "isOverdue": false, "balance": 170000, "currency": "COP", "totalCharged": 300000, "totalPaid": 130000, "totalWrittenOff": 0, "chargesCount": 1, "paymentsCount": 2, "lastChargeAt": "2026-09-22T14:12:08.431Z", "lastPaymentAt": "2026-09-26T21:05:33.000Z", "lastActivityAt": "2026-09-28T12:45:19.004Z", "branchId": "cmt7xbfrj0002q3w1iq4ysatr", "source": "API", "createdBy": null, "createdAt": "2026-09-22T14:12:08.431Z", "updatedAt": "2026-09-28T12:45:19.004Z", "archivedAt": "2026-09-28T12:45:19.004Z"}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`.
Crear un cliente que debe POST
Abre la cuenta de un cliente, con lo que ya debe (`initialDebt`) y lo que ya abonó (`initialPaid`). Cada uno se vuelve un movimiento del historial («Deuda inicial», «Abono inicial») y la etapa se calcula sola: con abono queda en `PARTIAL`, sin abono en `OPEN`. No deduplica por nombre: antes de crear, busca con `GET /v1/receivables?q=` que no exista ya — dos «Gloria» en el cuaderno parten el saldo en dos. Queda con `source: "API"` y `createdBy: null`. Responde con la misma forma que `GET /v1/receivables/{id}`. Permiso: `receivables.write`.