VerifikaDocs
ReferenciaEgresos

Registrar un egreso

Queda con source: "API", para que en el libro se distinga lo que escribió un sistema de lo que escribió una persona.

POST
/expenses

Autorización

apiKey expenses.write
AutorizaciónBearer <token>

La llave del negocio, creada en el panel: Integraciones → API pública. Formato vk_live_… (o vk_test_… fuera de producción).

Va en: header

Permiso: expenses.write

Parámetros de consulta

companyId?string

Sobre qué negocio actúa la petición. Obligatorio solo si la llave entra a varios negocios (plan Multi); con uno solo, se deduce.

Parámetros de cabecera

Idempotency-Key?string

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.

Cuerpo de la petición

application/json

Tipos de TypeScript

Usa el tipo request body en TypeScript.

Cuerpo de la respuesta

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/expenses" \  -H "Content-Type: application/json" \  -d '{    "amount": 120000,    "paidTo": "Harina La Espiga",    "occurredAt": "2026-09-04T14:10:00.000Z",    "categoryId": "cmt7xbfrm0003q3w121ldx6wz",    "paymentMethod": "TRANSFER",    "notes": "Pedido semanal"  }'
{  "object": "expense",  "id": "cmtnox8lz00016kw11frj0rww",  "amount": 120000,  "currency": "COP",  "paidTo": "Harina La Espiga",  "occurredAt": "2026-09-04T14:10:00.000Z",  "createdAt": "2026-09-04T14:12:44.008Z",  "accountLabel": null,  "paymentMethod": "TRANSFER",  "notes": "Pedido semanal",  "source": "API",  "category": {    "id": "cmt7xbfrm0003q3w121ldx6wz",    "name": "Proveedores y mercancía",    "emoji": "📦"  },  "branch": null,  "createdBy": {    "id": null,    "name": null,    "phone": null  }}