Platica

Movimientos

Un movimiento es un ingreso o un gasto dentro de una cuenta. El saldo de la cuenta se calcula a partir de ellos.

El objeto movimiento

Campos principales

iduuid
Identificador del movimiento.
accountIduuid
Cuenta a la que pertenece. El monto está en la moneda de esa cuenta.
typestring
ADD es ingreso, CUT es gasto.
amountMinorinteger
Monto en céntimos, siempre positivo. El signo lo da type.
descriptionstring
Texto libre, hasta 500 caracteres.
categoryIdstring | null
Categoría: un id del catálogo (como expense-groceries) o el UUID de una categoría tuya.
occurredAtdatetime
Cuándo ocurrió, en UTC.
transferIduuid | null
Si es parte de una transferencia, el id que une las dos partes.

La respuesta trae otros campos de uso interno (sourceType, financialNature…) que puedes ignorar.

Listar movimientos

GET/accounts/:accountId/movements/page

Plan: ProPermiso de la key: Solo lectura o superior

Devuelve los movimientos de una cuenta, del más reciente al más antiguo, por páginas.

Parámetros de consulta

pageinteger
Página, desde 1. Por defecto, 1.
limitinteger
Resultados por página. Por defecto 50, máximo 200.
typestring
Filtra por ADD, CUT o TRANSFER.
fromdate
Fecha mínima, inclusiva.
todate
Fecha máxima, inclusiva.
categoryIdsstring
Ids de categoría separados por coma.
minMinor, maxMinorinteger
Rango de monto en céntimos, inclusivo.
curl "https://api.tuplatica.app/api/platica/accounts/6f1c2a9e-8b4d-4c1e-9a7f-2d5e8b3c1a40/movements/page?type=CUT&limit=20" \
  -H "Authorization: Bearer $PLATICA_API_KEY"

Respuesta 200

{
  "data": [
    {
      "id": "b2e47c10-5d3a-4f8e-9c21-7a6d4e0f9b13",
      "accountId": "6f1c2a9e-8b4d-4c1e-9a7f-2d5e8b3c1a40",
      "type": "CUT",
      "amountMinor": 4590,
      "description": "Mercado semanal",
      "categoryId": "expense-groceries",
      "categorySource": "manual",
      "occurredAt": "2026-10-18T18:30:00.000Z",
      "isInitial": false,
      "transferId": null,
      "sourceType": null,
      "sourceId": null,
      "sourceParentId": null,
      "financialNature": "OPERATING",
      "createdAt": "2026-10-18T18:31:02.000Z",
      "updatedAt": "2026-10-18T18:31:02.000Z"
    }
  ],
  "total": 86,
  "page": 1,
  "limit": 20,
  "hasMore": true
}

Registrar un movimiento

POST/accounts/:accountId/movements

Plan: ProPermiso de la key: Lectura y escritura

Cuerpo

typestringobligatorio
ADD para ingreso, CUT para gasto.
amountMinorintegerobligatorio
Monto en céntimos, mayor que cero.
descriptionstringobligatorio
Hasta 500 caracteres.
occurredAtdatetimeobligatorio
Cuándo ocurrió, con zona horaria.
categoryIdstring
Categoría. Si la omites, Platica la sugiere a partir de la descripción, igual que en la app.
iduuid
Tu propio id para el movimiento.
curl -X POST "https://api.tuplatica.app/api/platica/accounts/6f1c2a9e-8b4d-4c1e-9a7f-2d5e8b3c1a40/movements" \
  -H "Authorization: Bearer $PLATICA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "CUT",
    "amountMinor": 4590,
    "description": "Mercado semanal",
    "occurredAt": "2026-10-18T14:30:00-04:00"
  }'

Respuesta 201

{
  "id": "b2e47c10-5d3a-4f8e-9c21-7a6d4e0f9b13",
  "accountId": "6f1c2a9e-8b4d-4c1e-9a7f-2d5e8b3c1a40",
  "type": "CUT",
  "amountMinor": 4590,
  "description": "Mercado semanal",
  "categoryId": "expense-groceries",
  "categorySource": "manual",
  "occurredAt": "2026-10-18T18:30:00.000Z",
  "isInitial": false,
  "transferId": null,
  "sourceType": null,
  "sourceId": null,
  "sourceParentId": null,
  "financialNature": "OPERATING",
  "createdAt": "2026-10-18T18:31:02.000Z",
  "updatedAt": "2026-10-18T18:31:02.000Z"
}

Para mover dinero entre tus cuentas

No registres un gasto en una y un ingreso en otra: usa una transferencia, que crea las dos partes de una vez y no las cuenta como gasto ni ingreso en tus reportes.

Editar un movimiento

PATCH/movements/:id

Plan: ProPermiso de la key: Lectura y escritura

Envía solo los campos que cambian: los mismos del cuerpo de creación.

curl -X PATCH "https://api.tuplatica.app/api/platica/movements/b2e47c10-5d3a-4f8e-9c21-7a6d4e0f9b13" \
  -H "Authorization: Bearer $PLATICA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amountMinor": 5120
  }'

Eliminar un movimiento

DELETE/movements/:id

Plan: ProPermiso de la key: Lectura y escritura

Elimina el movimiento y recalcula el saldo de la cuenta. Responde 204 sin cuerpo.

curl -X DELETE "https://api.tuplatica.app/api/platica/movements/b2e47c10-5d3a-4f8e-9c21-7a6d4e0f9b13" \
  -H "Authorization: Bearer $PLATICA_API_KEY"

¿Dudas o algo no funciona? Escríbenos a [email protected]

Actualizado el 18 de octubre de 2026