Obligaciones
Una obligación es dinero que debes o que te deben, con su calendario de cuotas: un préstamo, una compra a crédito o una venta fiada.
Tipos y estados
Dirección y tipo
PAYABLEdirection- Lo debes tú. Tipos: BORROWED_MONEY (préstamo recibido) o CREDIT_PURCHASE (compra a crédito).
RECEIVABLEdirection- Te lo deben. Tipos: LENT_MONEY (préstamo entregado) o CREDIT_SALE (venta a crédito).
Estado de la obligación (status)
PENDINGstatus- Sin pagos todavía.
PARTIALLY_SETTLEDstatus- Con pagos, sin cuotas vencidas.
OVERDUEstatus- Alguna cuota venció sin pagarse completa.
SETTLEDstatus- Todas las cuotas pagadas.
CANCELEDstatus- Cancelada. Ya no admite pagos.
Cada cuota tiene su propio estado: PENDING, UPCOMING (la próxima), PARTIAL, PAID u OVERDUE. Los estados se calculan con la fecha de Caracas.
El objeto obligación
Campos principales
iduuid- Identificador.
direction, kindstring- Dirección y tipo, ver arriba.
counterpartystring- Con quién: persona o comercio.
totalAmountMinorinteger- Total en céntimos.
totalSettledMinorinteger- Pagado o cobrado hasta ahora.
outstandingMinorinteger- Lo que falta.
currencystring- Moneda. Coincide con la de la cuenta predeterminada.
defaultAccountIduuid- Cuenta donde caen los pagos si no indicas otra.
originDatedate- Fecha de origen, AAAA-MM-DD.
statusstring- Estado calculado.
installmentsobject[]- Cuotas: dueDate, amountMinor, appliedMinor, remainingMinor, status.
settlementsobject[]- Pagos o cobros, con cómo se repartieron entre cuotas (allocations).
eventsobject[]- Historial de cambios, del más reciente al más antiguo.
nextInstallmentobject | null- La próxima cuota por pagar.
archivedAt, canceledAtdatetime | null- Si está archivada o cancelada.
Listar obligaciones
https://api.tuplatica.app/api/platica/obligationsPlan: ProPermiso de la key: Solo lectura o superior
Lista paginada, de la más reciente a la más antigua.
Parámetros de consulta
pageinteger- Página, desde 1.
limitinteger- Por página. Por defecto 20, máximo 100.
directionstring- PAYABLE o RECEIVABLE.
statusesstring- Estados separados por coma, por ejemplo OVERDUE,PENDING.
kindsstring- Tipos separados por coma.
searchstring- Busca en contraparte, descripción y notas.
dueFrom, dueTodate- Con alguna cuota en ese rango, AAAA-MM-DD.
archivedboolean- Por defecto false: solo las no archivadas.
updatedSincedatetime- Solo las modificadas desde esa fecha, archivadas o no.
curl "https://api.tuplatica.app/api/platica/obligations?direction=PAYABLE&statuses=OVERDUE,PENDING" \
-H "Authorization: Bearer $PLATICA_API_KEY"Respuesta 200
{
"data": [
"… obligaciones como la de abajo …"
],
"total": 4,
"page": 1,
"limit": 20,
"hasMore": false
}Resumen por moneda
https://api.tuplatica.app/api/platica/obligations/summaryPlan: ProPermiso de la key: Solo lectura o superior
Por cada moneda: cuánto debes, cuánto te deben, cuántas están vencidas y la próxima de cada lado.
curl "https://api.tuplatica.app/api/platica/obligations/summary" \
-H "Authorization: Bearer $PLATICA_API_KEY"Respuesta 200
[
{
"currency": "USD",
"payableOutstandingMinor": 40000,
"receivableOutstandingMinor": 15000,
"overdueCount": 0,
"nextPayable": "… obligación …",
"nextReceivable": null
}
]Consultar una obligación
https://api.tuplatica.app/api/platica/obligations/:idPlan: ProPermiso de la key: Solo lectura o superior
Devuelve la obligación completa con cuotas, pagos e historial. Todas las acciones de esta página responden con este mismo objeto.
curl "https://api.tuplatica.app/api/platica/obligations/2f4a6c8e-0b2d-4f6a-8c0e-2b4d6f8a0c2e" \
-H "Authorization: Bearer $PLATICA_API_KEY"Respuesta 200
{
"id": "2f4a6c8e-0b2d-4f6a-8c0e-2b4d6f8a0c2e",
"direction": "PAYABLE",
"kind": "CREDIT_PURCHASE",
"counterparty": "Tienda de electrodomésticos",
"description": "Nevera",
"notes": null,
"totalAmountMinor": 60000,
"totalSettledMinor": 20000,
"outstandingMinor": 40000,
"currency": "USD",
"defaultAccountId": "0d9a4b7e-3c21-4e6f-8a5b-1f2e3d4c5b6a",
"categoryId": "expense-shopping",
"categorySource": "automatic",
"originDate": "2026-09-15",
"status": "PARTIALLY_SETTLED",
"wasRescheduled": false,
"canceledAt": null,
"cancellationReason": null,
"archivedAt": null,
"originMovementId": null,
"installments": [
{
"id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"position": 1,
"dueDate": "2026-10-15",
"amountMinor": 20000,
"appliedMinor": 20000,
"remainingMinor": 0,
"status": "PAID",
"wasRescheduled": false,
"plannedMovementId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
},
{
"id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"position": 2,
"dueDate": "2026-11-15",
"amountMinor": 20000,
"appliedMinor": 0,
"remainingMinor": 20000,
"status": "UPCOMING",
"wasRescheduled": false,
"plannedMovementId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e"
},
{
"id": "c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f",
"position": 3,
"dueDate": "2026-12-15",
"amountMinor": 20000,
"appliedMinor": 0,
"remainingMinor": 20000,
"status": "PENDING",
"wasRescheduled": false,
"plannedMovementId": "c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f"
}
],
"settlements": [
{
"id": "d4e5f6a7-b8c9-4d0e-8f2a-3b4c5d6e7f80",
"kind": "REAL",
"amountMinor": 20000,
"occurredAt": "2026-10-15T14:00:00.000Z",
"note": null,
"accountId": "0d9a4b7e-3c21-4e6f-8a5b-1f2e3d4c5b6a",
"movementId": "d4e5f6a7-b8c9-4d0e-8f2a-3b4c5d6e7f80",
"voided": false,
"voidedAt": null,
"voidReason": null,
"allocations": [
{
"id": "e5f6a7b8-c9d0-4e1f-9a3b-4c5d6e7f8091",
"installmentId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"amountMinor": 20000
}
]
}
],
"events": [
{
"id": "f6a7b8c9-d0e1-4f2a-8b4c-5d6e7f809102",
"type": "SETTLEMENT_CREATED",
"data": null,
"createdAt": "2026-10-15T14:00:01.000Z"
}
],
"history": [
"… mismo arreglo que events …"
],
"nextInstallment": {
"id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
"position": 2,
"dueDate": "2026-11-15",
"amountMinor": 20000,
"appliedMinor": 0,
"remainingMinor": 20000,
"status": "UPCOMING",
"wasRescheduled": false,
"plannedMovementId": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e"
},
"createdAt": "2026-09-15T16:20:00.000Z",
"updatedAt": "2026-10-15T14:00:01.000Z"
}Crear una obligación
https://api.tuplatica.app/api/platica/obligationsPlan: ProPermiso de la key: Lectura y escritura
Cuerpo
directionstringobligatorio- PAYABLE o RECEIVABLE.
kindstringobligatorio- Compatible con la dirección.
counterpartystringobligatorio- Hasta 200 caracteres.
totalAmountMinorintegerobligatorio- Total en céntimos.
currencystringobligatorio- Igual a la moneda de la cuenta; si no, 422.
defaultAccountIduuidobligatorio- Cuenta tuya.
originDatedateobligatorio- AAAA-MM-DD.
frequencystringobligatorio- SINGLE, WEEKLY, BIWEEKLY o MONTHLY.
installmentCountintegerobligatorio- Número de cuotas, 1 a 360. SINGLE exige 1.
firstDueDatedateobligatorio- Vencimiento de la primera cuota.
installmentsobject[]- Calendario a mano: { dueDate, amountMinor }. Debe sumar el total menos el pago inicial. Si lo omites, se reparte en partes iguales.
initialSettlementobject- Pago inicial: { amountMinor, occurredAt, accountId?, note? }.
createOriginMovementboolean- Solo préstamos. Por defecto true: registra la entrada o salida del dinero prestado.
description, notesstring- Hasta 500 y 2000 caracteres.
categoryIdstring- Categoría. En préstamos se ignora.
iduuid- Tu propio id. Reenviarlo devuelve la obligación existente.
curl -X POST "https://api.tuplatica.app/api/platica/obligations" \
-H "Authorization: Bearer $PLATICA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"direction": "PAYABLE",
"kind": "CREDIT_PURCHASE",
"counterparty": "Tienda de electrodomésticos",
"description": "Nevera",
"totalAmountMinor": 60000,
"currency": "USD",
"defaultAccountId": "0d9a4b7e-3c21-4e6f-8a5b-1f2e3d4c5b6a",
"originDate": "2026-09-15",
"frequency": "MONTHLY",
"installmentCount": 3,
"firstDueDate": "2026-10-15"
}'Responde 201 con la obligación completa. Cada cuota aparece también en la agenda.
Registrar un pago o cobro
https://api.tuplatica.app/api/platica/obligations/:id/settlementsPlan: ProPermiso de la key: Lectura y escritura
Registra el pago y crea el movimiento en la cuenta. Sin installmentId, el monto cubre primero las cuotas vencidas y luego las más antiguas.
Cuerpo
amountMinorintegerobligatorio- Monto en céntimos. No puede pasar de lo que falta.
occurredAtdatetimeobligatorio- Cuándo se pagó.
accountIduuid- Cuenta del pago. Por defecto, la predeterminada.
installmentIduuid- Aplica todo a una cuota concreta.
notestring- Hasta 500 caracteres.
iduuid- Tu propio id; también es el id del movimiento creado.
curl -X POST "https://api.tuplatica.app/api/platica/obligations/2f4a6c8e-0b2d-4f6a-8c0e-2b4d6f8a0c2e/settlements" \
-H "Authorization: Bearer $PLATICA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amountMinor": 20000,
"occurredAt": "2026-11-15T10:00:00-04:00"
}'Anular un pago
https://api.tuplatica.app/api/platica/obligations/:id/settlements/:settlementId/voidPlan: ProPermiso de la key: Lectura y escritura
Anula el pago, borra su movimiento y devuelve el saldo a las cuotas. Queda en el historial. Pide reason (hasta 500 caracteres).
curl -X POST "https://api.tuplatica.app/api/platica/obligations/2f4a6c8e-0b2d-4f6a-8c0e-2b4d6f8a0c2e/settlements/d4e5f6a7-b8c9-4d0e-8f2a-3b4c5d6e7f80/void" \
-H "Authorization: Bearer $PLATICA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reason": "Lo registré dos veces"
}'Editar datos
https://api.tuplatica.app/api/platica/obligations/:idPlan: ProPermiso de la key: Lectura y escritura
Acepta counterparty, description, notes, defaultAccountId y categoryId. Para cambiar montos o fechas usa el calendario.
Cambiar el calendario
https://api.tuplatica.app/api/platica/obligations/:id/schedulePlan: ProPermiso de la key: Lectura y escritura
Reemplaza el total y las cuotas: { totalAmountMinor, installments: [{ id?, dueDate, amountMinor }] }. Las cuotas deben sumar el total y no puedes quitar ni rebajar por debajo de lo ya pagado (409).
https://api.tuplatica.app/api/platica/obligations/:id/installments/:installmentIdCambia solo la fecha de una cuota: { "dueDate": "2026-12-20" }.
Cancelar, archivar, restaurar
https://api.tuplatica.app/api/platica/obligations/:id/cancelCancela para siempre y omite sus filas pendientes en la agenda. Pide reason.
https://api.tuplatica.app/api/platica/obligations/:id/archiveArchiva una obligación pagada o cancelada. Sin cuerpo.
https://api.tuplatica.app/api/platica/obligations/:id/restoreLa saca del archivo. Sin cuerpo.
Las obligaciones no se borran
No hay DELETE: el historial de pagos se conserva. Cancela o archiva. Una obligación archivada o cancelada no acepta pagos (409).