Versión 1.0 · OpenAPI 3

Rendiciones API

API pública para integrar Rendiciones con ERP y otros sistemas. Autenticación con una llave de API (Configuración → API e integraciones) en el header Authorization: Bearer rk_live_…. Límite: 120 peticiones por minuto por llave. Montos como texto decimal; fechas en ISO 8601.

Descargar especificación (openapi.json)

get/api/v1/expenses

expenses:read

Lista gastos. Ordenados del más reciente al más antiguo. Permiso: expenses:read.

ParámetroEnTipoDescripción
cursorconsultastringCursor devuelto como nextCursor en la página anterior.
limitconsultaintegerEntre 1 y 200. Por defecto 50.
fromconsultastringFecha del gasto desde (incluida).
toconsultastringFecha del gasto hasta (incluida).
statusconsultastring: unreported | DRAFT | SUBMITTED | RETURNED | APPROVED | REJECTED | PAIDEstado de la rendición del gasto, o unreported si no está en ninguna.
Respuesta 200: ExpensePage
dataarray<ExpenseOut>
nextCursorstring | null

Errores: 400 parámetros inválidos · 401 llave inválida, revocada o vencida · 403 falta el permiso · 404 no existe en tu empresa · 429 demasiadas peticiones (ver Retry-After).

get/api/v1/reports

reports:read

Lista rendiciones. Ordenadas por última actualización. Permiso: reports:read.

ParámetroEnTipoDescripción
cursorconsultastringCursor devuelto como nextCursor en la página anterior.
limitconsultaintegerEntre 1 y 200. Por defecto 50.
statusconsultastring: DRAFT | SUBMITTED | RETURNED | APPROVED | REJECTED | PAID
updatedFromconsultastringActualizadas desde esta fecha.
Respuesta 200: ReportPage
dataarray<ReportOut>
nextCursorstring | null

Errores: 400 parámetros inválidos · 401 llave inválida, revocada o vencida · 403 falta el permiso · 404 no existe en tu empresa · 429 demasiadas peticiones (ver Retry-After).

get/api/v1/reports/{id}

reports:read

Detalle de una rendición con sus gastos. Permiso: reports:read.

ParámetroEnTipoDescripción
id *rutastring
Respuesta 200: ReportDetailOut
idstring
numberintegerEj. 12
titlestring
statusstringDRAFT | SUBMITTED | RETURNED | APPROVED | REJECTED | PAID
userIdstring
totalstringEj. 185500.00
approvedTotalstring | null
submittedAtstring | null
approvedAtstring | null
paidAtstring | null
updatedAtstring
expensesarray<ExpenseOut>

Errores: 400 parámetros inválidos · 401 llave inválida, revocada o vencida · 403 falta el permiso · 404 no existe en tu empresa · 429 demasiadas peticiones (ver Retry-After).

post/api/v1/reports/{id}/mark-exported

reports:write

Marca una rendición como importada por el ERP. Queda en el historial de la rendición y en la bitácora. Permiso: reports:write.

ParámetroEnTipoDescripción
id *rutastring

Cuerpo (JSON, opcional): reference (string) — Identificador del comprobante en el ERP.

Respuesta 200: ExportedOut
okboolean
reportIdstring

Errores: 400 parámetros inválidos · 401 llave inválida, revocada o vencida · 403 falta el permiso · 404 no existe en tu empresa · 429 demasiadas peticiones (ver Retry-After).

get/api/v1/users

users:read

Lista personas. Sin datos bancarios ni de seguridad. Permiso: users:read.

Respuesta 200: UserOut[]
idstring
emailstring
namestring
rutstring | null
positionstring | null
rolestringADMIN | FINANCE | APPROVER | EMPLOYEE
activeboolean
managerIdstring | null
costCenterCodestring | null

Errores: 400 parámetros inválidos · 401 llave inválida, revocada o vencida · 403 falta el permiso · 404 no existe en tu empresa · 429 demasiadas peticiones (ver Retry-After).

get/api/v1/catalog

catalog:read

Categorías (con cuenta contable), centros de costo y monedas. Permiso: catalog:read.

Respuesta 200: CatalogOut
categoriesarray<object>Ej. [{"id":"uuid","name":"Alimentación","glAccount":"5101-01","active":true}]
costCentersarray<object>Ej. [{"id":"uuid","code":"COM","name":"Comercial","active":true}]
currenciesarray<object>Ej. [{"code":"USD","name":"Dólar estadounidense","rate":"948.500000","active":true}]

Errores: 400 parámetros inválidos · 401 llave inválida, revocada o vencida · 403 falta el permiso · 404 no existe en tu empresa · 429 demasiadas peticiones (ver Retry-After).